はじめに
$0についてものすごく簡単にまとめるため、さらに探求したい方は各々ググり散らかしてください。
詳細
- $0とは引数を表現するものである。
- $以降の数字によって引数を指定することができる
- $0を使った場合、クロージャーなどの引数は省略可能である
Swift
//元となる省略表現なしのクロージャー定義、
let sampleClosure: (String) -> Void = { sampleParameter in
//わざわざ新たな変数に引数を格納するのはおかしいが、今回は見逃してください...
let testSample = sampleParameter
print(testSample)
}
//出力
sampleClosure("sampleClosureの引数sampleParameterを$0で省略する前の書き方")
//sampleClosureの引数sampleParameterを$0で省略する前の書き方
//$0(第一引数),$1(第ニ引数),$2(第三引数)と$以降の数字が上がるに連れて引数を指定できる
//第一引数のみ省略の場合
let testClosure: (String) -> Void = {
let test = $0
print(test)
}
//出力
testClosure("$0で第一引数が省略されているのを確認している")
//第一引数と第二引数を省略の場合
let testClosure1: (String, String) -> Void = {
let test1 = $0
let test2 = $1
print("test1の省略表現: \(test1)\n test2の省略表現: \(test2)")
}
//出力
testClosure1("test1の出力確認", "test2の出力確認")
//test1の省略表現: test1の出力確認
//test2の省略表現: test2の出力確認
}
おわりに
指摘事項ありましたらぜひご指摘ください。
参考記事
[増補改訂第3版]Swift実践入門 ── 直感的な文法と安全性を兼ね備えた言語 (WEB+DB PRESS plusシリーズ)
↑引用元
石川 洋資 (著), 西山 勇世 (著)
発行者:片岡 巌
出版社:技術評論社
印刷/製本:日経印刷株式会社
開発環境
- Xcode-13.4.1
- Swift version 5.7