名称未設定

Swift/Kotlin愛好会 合同執筆本 Love Swift & Kotlin 1章感想

Swiftの新機能の紹介だけではなくて、Swiftの機能がどうやって作られているのかという背景まで紹介されていてよかった。

isMulitple

整数がある数の倍数であるかを判別できるようになった新関数。
FizzBuzzがこんなにきれいに書けるなんて・・・って感動した。

Unicode Scalar

絵文字だけ取り出すUnicode Scalarを試してみる。

Character Properties

この文字列が数字なのか文字なのかスペースなのか判定できるプロパティがついかされている

紹介されていた「isASCII」「isWhitespace」も実行してみた図
実際のプロポーザルを見てみると「 isNewline」とか便利なんじゃねとおもったりした。

/// Whether this Character represents a newline.
 ///
 /// Examples:
 ///   * "\n" (U+000A): LINE FEED (LF)
 ///   * "\r" (U+000D): CARRIAGE RETURN (CR)
 ///   * "
" (U+000A U+000D): CR-LF
 ///   * U+0085: NEXT LINE (NEL)
 ///   * U+2028: LINE SEPARATOR
 ///   * U+2029: PARAGRAPH SEPARATOR
 ///
 public var isNewline: Bool { ... }
compactMapValues

Dictonaryの値の型変換やnilの除去ができる関数
これ便利だなとおもった。
↓これがプロポーザル

extension Dictionary {
   public func compactMapValues<T>(_ transform: (Value) throws -> T?) rethrows -> [Key: T] {
       return try self.reduce(into: [Key: T](), { (result, x) in
           if let value = try transform(x.value) {
               result[x.key] = value
           }
       })
   }
}

どうして必要なのか、既存のfilterやmapと何が違うのか、どうすれば実現できるのか、提案の仕方が書いてあって勉強になった。
しかも、こうやってコードで中身を見れるのがいいなと思った。

Swiftの新しい機能こういう風に提案するんだ・・・
中身の実装もこうしたらいいんじゃないかって提案できるんだということがわかったのがこの本の一章の学び

すごい 
未来でこういう事できるようになりたいなと思った。


この記事が参加している募集

エンジニアとして働いている成長記録やおもしろいと思ったこと色々書いていこうとおもいます 頂いたご支援は、資料や勉強のための本、次のネタのための資金にし、さらに面白いことを発信するために使います 応援おねがいします