もくもく独書 とは

Swift実践入門 ── 直感的な文法と安全性を兼ね備えた言語 (WEB+DB PRESS plus)
- 作者: 石川洋資,西山勇世
- 出版社/メーカー: 技術評論社
- 発売日: 2017/02/07
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (4件) を見る
上記の Swift実践入門を読みながら、思った事をTweetしていく取り組みです。
Swiftをはじめから丁寧にやっていきます。 なるべく毎日更新を目標にする。
リンク
前回:
次回:
今日の取り組み
今日は第三章 「制御構文について」
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年5月31日
書籍はおなじみ Swift実践入門 https://t.co/k2xKFAYIpb
#もくもく独書
今日は第三章 「制御構文について」
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年5月31日
書籍はおなじみ Swift実践入門 https://t.co/k2xKFAYIpb
#もくもく独書
"制御構文"はプログラムの実行フローを制御するための構文。
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年5月31日
平たくいうと、 if文 とか Switch文とか。 #もくもく独書
まずは条件分岐について。
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年5月31日
Swiftの分岐を行う制御構文は if文、 guard文、 switch文がある。
#もくもく独書
Swiftのif文の書き方はこんな感じ。 条件式は `Bool型`の値を返す必要がある。pic.twitter.com/9Xa3HMXkXS#もくもく独書
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年5月31日
昨日紹介したように if-let文というものがあって、これはオプショナルバインディングのために使用される。
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年5月31日
if let 文で宣言された定数は {} 内でのみ使用できるので、このif文の外ではスコープ範囲外となり参照できない。pic.twitter.com/rIB11ykpiW#もくもく独書
if-let文がどうにも解せないんだけど、 if 評価式 {} の評価式は Bool 型を返さないといけない、って話なら、 `let 定数 = Optinal<Wrapped>` の部分も Bool型が帰ってきてるんじゃないの?って思っていろいろ試していたけどダメだね。#もくもく独書 pic.twitter.com/L7IZgAeJJx
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年5月31日
やっぱりそういうもん、として扱えばいいんですね。ありがとうございます!
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年5月31日
guard文は early returnをすることができる構文である。
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年5月31日
guard文のelse節ではコンパイル時に guard文を含むスコープ内からの退出があるかどうかがチェッくされるので guard文のそれ以降は、 guard文の条件式が trueになっているものとして扱う事ができる。pic.twitter.com/nwFHxqiQZi#もくもく独書
guard文にも guard let 構文がある。
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年5月31日
if let文との違いは 定数のスコープが if-letの場合は {} に限るが、 guard文の場合は guard文のあるスコープの中で参照可能である、という事。 #もくもく独書
続いて繰り返し構文。 Swiftの繰り返し構文は for文とwhile文の二種類がある。 #もくもく独書
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年5月31日
for文は 値の連続を表現する Sequenceプロトコルに準拠した型の要素にアクセスするための制御構文。
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年5月31日
例えば、 Array<Element>型や Dictionary<Key, Value>型などがある。 #もくもく独書
Swiftでは遅延実行構文が提供されている。
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年5月31日
例のようにスコープ内では命令が実行されていないため、count = 0 だが、 someFunction() を実行後は count が 1 になっている。pic.twitter.com/vgtGc0l8sR#もくもく独書
って事で本日は以上。。かな。
— イルカ@JPUG & 岡山swift (@ikkitang) 2018年5月31日
guard文とか switch文の網羅性チェックとかでよりバグのすくないプログラムがかけるようになってる。
また、書かなかったけど、ラベルとかにも対応してるんだね、 Swift。
割とバグを招きがち?というかそういうのは関数に持つイメージだった。#もくもく独書
Swift実践入門について
今はSwift4対応の改訂版出てるのでそっち読んだほうがいいよ。多分。
![[改訂新版]Swift実践入門 ── 直感的な文法と安全性を兼ね備えた言語 (WEB+DB PRESS plus) [改訂新版]Swift実践入門 ── 直感的な文法と安全性を兼ね備えた言語 (WEB+DB PRESS plus)](https://images-fe.ssl-images-amazon.com/images/I/51WsZJ6wtIL._SL160_.jpg)
[改訂新版]Swift実践入門 ── 直感的な文法と安全性を兼ね備えた言語 (WEB+DB PRESS plus)
- 作者: 石川洋資,西山勇世
- 出版社/メーカー: 技術評論社
- 発売日: 2018/01/17
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る