ドキュメント全般の見方、ということになるのですが、具体例として、
https://developer.apple.com/documentation/swift/optional
上記のページのNil結合演算子(Coalescing Nil Values)の部分に、
Coalescing Nil Values
func ?? <T>(T?, () -> T) -> T
Performs a nil-coalescing operation, returning the wrapped value of an Optional instance or a default value.
func ?? <T>(T?, () -> T?) -> T?
Performs a nil-coalescing operation, returning the wrapped value of an Optional instance or a default Optional value.
とあるのですが、二番目の引数「() -> T」と「() -> T?」は何を表しているのでしょうか。
現在の私の認識だと、引数無し・戻り値の型がT,T?であるクロージャの型を示しているのかな、という感じなんですが、
なぜクロージャが出てくるんでしょうか?
nil結合演算子の挙動については一応理解したつもりです。
<T>が型引数、多分一番目の引数が左辺、二番目の引数が右辺ということでしょうか。
例えば左辺がInt?型の場合、右辺はInt型のデフォルト値を指定して、
左辺が値を保持している場合は、アンラップして取り出したその値を返す、
左辺がnilの場合はデフォルト値として指定した右辺の値を返す、
というのがnil結合演算子、
以上が現在の私の認識です。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/12 01:13
2019/12/15 05:52