【Swift】Swift3.1の変更点

  • prefix(while:)とdrop(while:)が追加
  • Intのイニシャライザ(init?(exactly:))が追加
prefix(while:)

先頭の要素から「条件を満たさなくなる」までの値の配列を返す。

let array = [1, 2, 3, 10, 20, 30, 100, 200, 300, 5]
let prefixed = array.prefix(while: {$0 < 100})
print(prefixed)    
// [1, 2, 3, 10, 20, 30]
let array = ["", "A", "B", "C", "A1", "A2", "A3", "A1X", "A2X", "A3X"]
let prefixed = array.prefix(while: {x in x.characters.count > 0})
print(prefixed)
// []
drop(while:)

先頭の要素から「条件を満たす」要素をスキップする。 条件を満たさなくなった要素「以降」の配列を返す。

let array = [1, 2, 3, 10, 20, 30, 100, 200, 300, 5]
let dropped array.drop(while: {$0 < 100})
print(dropped)
// [100, 200, 300, 5]
let array = ["", "A", "B", "C", "A1", "A2", "A3", "A1X", "A2X", "A3X"]
let prefixed = array.drop(while: {x in x.characters.count > 0})
print(prefixed)
// ["", "A", "B", "C", "A1", "A2", "A3", "A1X", "A2X", "A3X"]

Intのイニシャライザ(init?(exactly:))

小数点以下の切り捨てや切上げ、四捨五入が必要なければ、 Intを返す。そうでなければ、nilを返す。

let num1 = Int(exactly: 1.0)  // 1のInt型
let num2 = Int(exactly: 2)  // 2のInt型
let num3 = Int(exactly: 3.1)  // nil
let num4 = Int(exactly: 4.01)  // nil
let num5 = Int(exactly: 5)  // 5のInt型
公式ドキュメント:https://swift.org/blog/swift-3-1-released/
参考テキスト
詳解Swift 第3版 [ 荻原 剛志 ]

詳解Swift 第3版 [ 荻原 剛志 ]

価格:3,456円
(2017/1/3 01:58時点)
感想(0件)

スポンサーサイト
広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中