今回は本編から少し離れた回としまして、前回の話の中で出てきて曖昧な感じに終わった magnitude
のあたりに注目して見ていこうと思います。それを見たら、続いて同じく前回の話題の プロトコルと拡張
で触れられなかった 条件付き拡張
の基本的なところについても眺めていく予定です。どうぞよろしくお願いしますね。
—————————————————————————————————————— 熊谷さんのやさしい Swift 勉強会 #65
00:00 開始 01:15 オリエンテーション 02:22 勉強会の目的 03:25 勉強会の方向性 05:05 勉強会の想定対象者 05:29 談笑形式 06:23 話しかけるにあたっての心持ち 10:18 大事な心構え 11:36 今回の展望 13:34 magnitude と abs 15:15 マグニチュード 17:01 Absolute Value や Modules とも呼ばれる 17:56 magnitude で絶対値を取る 19:05 問題:どんなバグが含まれるでしょう 20:41 abs 関数で発生するエラー 21:56 整数値のビット構成 23:02 2の補数表現 26:05 問題の解答 26:55 Numeric における Magnitude の定義 28:15 Int 型における Magnitude の定義 28:44 magnitude と abs の特徴の違い 32:02 abs 関数の実装 34:11 unsafeBitCast と as! 36:21 条件付きキャストによる安全性 40:12 Magnitude 型が元の型と異なる場合の abs 関数の挙動 41:04 絶対値の概念が特殊な型があったときの挙動が心配 43:45 質疑応答 45:16 magnitude を使うか abs を使うか ——————————————————————————————————————