もくもく独書 とは
Swift実践入門 ── 直感的な文法と安全性を兼ね備えた言語 (WEB+DB PRESS plus)
- 作者: 石川洋資,西山勇世
- 出版社/メーカー: 技術評論社
- 発売日: 2017/02/07
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (4件) を見る
上記の Swift実践入門を読みながら、思った事をTweetしていく取り組みです。
Swiftをはじめから丁寧にやっていきます。 なるべく毎日更新を目標にする。
リンク
前回:
次回:
今日の取り組み
今日も今日とてもくもく独書です。
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年6月1日
今日は第四章「関数とクロージャ」についてです。https://t.co/k2xKFAYIpb
#もくもく独書
Swiftの関数の定義は図のような感じ。 戻り値があるときは return を記述して返すが、それらはコンパイル時に定義の型と等しいかどうかが検証される。pic.twitter.com/zQwvpB4MKI#もくもく独書
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年6月1日
関数には 実引数と仮引数というのがある。 画像のように定義する事で使い分けができる。 関数の仮引数は関数内で使いやすいように、実引数は関数を呼び出す側が使いやすいように、と使い分ける。pic.twitter.com/xORI6nIJDc#もくもく独書
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年6月1日
クロージャについてです。
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年6月1日
クロージャの定義は画像のような感じとなっている。
関数は"クロージャの一種"であり、クロージャは名前が不要であったり、型推論によって型の記述が省略可能であったりと関数より手軽に利用できる。pic.twitter.com/EsOmXCSodA#もくもく独書
クロージャの型は通常の型と同じよういに扱えるため、変数や定数の型や関数の引数の型としても利用する事が可能となっています。 #もくもく独書
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年6月1日
関数の引数としてクロージャを渡す場合、 `@escaping` と `@autoclosure`属性を付加する事ができる。 @escaping属性については画像の通りで 引数として渡したクロージャを関数のスコープ外から実行される可能性がある場合に指定する。pic.twitter.com/o2LKyXbpfx#もくもく独書
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年6月1日
`@autoclosure`属性はこんな感じ。例えば、下で divide を 2回二種類の方法で呼んでる。divide は 引数1の val が nil だったら 0 と表示して終了する。このとき、itemは実行する必要が無いので nilじゃないときだけ遅延評価させたい場合とかに使う。pic.twitter.com/VH4s5AwLRp#もくもく独書
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年6月1日
`@autoclosure` めっちゃ時間かかった。。。理解すんの。
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年6月1日
例文考えるのも難しかったわ #もくもく独書
今日は以上。 まとめとして、今だと PHPStormとかで呼び出す関数の引数名とかを表示してくれたりするけど、Swiftはデフォルトで仮引数・実引数のサポートがされてる。 僕がSwiftの好きな箇所はここだったりもします。
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年6月1日
さて明日は第5章だ。寝るぞー!#もくもく独書
反省点
Swift実践入門について
今はSwift4対応の改訂版出てるのでそっち読んだほうがいいよ。多分。
[改訂新版]Swift実践入門 ── 直感的な文法と安全性を兼ね備えた言語 (WEB+DB PRESS plus)
- 作者: 石川洋資,西山勇世
- 出版社/メーカー: 技術評論社
- 発売日: 2018/01/17
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る