プレ多読 2冊 2万5千語 読了。
久しぶりに多読してみました。有名な「The ring」、およびラダーの「The Gandhi Story」を読んでみたので簡単なレビューでも。
続きを読むWWDC2018 What's New in Swift
リスニングの練習かねて最近はWWDC2018動画を見てます。せっかくなのでまとめ共有です。
推測聞きばかり...さすがに網掛け聞きできるほど器用ではない。
一回目は What's New in Swift 。今までと比べると小規模な変化です。
概要
- Swiftロードマップ
- 新規API群
- ビルド設定関係
Swiftロードマップ
- Swift4.2は秋リリース
- Swift5.0が来年の早い段階でリリース予定
- Swift-RuntimeがOSに入るらしい
- 起動が早くなるとか
新規API群
hashable
hashCode関数が大幅変更。Hasher
に値をいれていく。Hash用の値がプロセスごとに変わりより安全になる。
//Before protocol Hashable { var hash : Int } //After protocol Hashable { func hashValue(into hasher: inout Hasher) } struct User : Hashable { let name: String let id : Int64 func hashValue(into hasher: inout Hasher) name.hash(&hasher) id.hash($hasher) } }
CaseIterable
CaseIterable
が追加、allCases
でenum定数一覧をまとめた定数を自動生成してくれる
enum Direction2: CaseIterable { case east case west case north case south } print(Direction2.allCases) //east,west,north,south
Random
Random生成がInt/Floatなどに追加され楽に。shuffledなど便利機能も
//range指定で取得 let randInt = Int.random(in: 1..< 10) let randFloat = Float.random(in: 0..< 1) //配列系 let arr = [1, 2, 3, 4, 5] //ランダムに要素取得。Optionalが返るので注意 let randomValue = arr.randomElement()! //ランダムに並び替えた配列の取得 let randomized = arr.shuffled()
便利マクロ系
#if canImport()
- ()内Framewokrがあるかどうか。
#if canImport(UIKit)
など
- ()内Framewokrがあるかどうか。
#if hasTargetEnvironment
#if hasTargetEnvironment(simulator)
- x86判定しなくてもいいように
Xcode系
- Size-Optimizedオプションが追加された
- 10~30%小さいが、5%遅くなる
- 新興国向けなどに
- Incrementalビルドモードが追加
ざっと目立った変更は上記ぐらいでした。去年おととしと比べると、だいぶ控えめですね。
もっとも聞き取りが甘いので、細かい見落とし(聞き落とし)はかなりあると思いますけど。
しかし1年前と比べてまったくリスニング力が変わっていない気が少々。本当に英語は長い道のりですね...
Oxford Reading Tree読了、多読5万語突破
先日のプレプレ多読、再度図書館にいきOxford Reading TreeのStage 6-9、図書館にあるだけ全て読破しました。実は前回の記事の翌日にもいっており、合計約15時間 という読書づけな連休でした。
15時間後の感想と身体に起こった変化をメモしておきたいと思います。
続きを読む図書館でプレプレ多読を始める
まだマップだとだいぶ先になるのですが、どうしても「ある程度の長さの文章を読む」ことへの抵抗感を消したくて多読を始めてみました。
ただし本来のマップの多読より相当レベルの低い本から始めたので、プレプレ多読 というところです。
続きを読む