日記
自分の家が一番落ち着く
今日書いたコード
enum Planet: Int { case mercury = 1, venus, earth, mars, jupiter, saturn, uranus, neptune static subscript(n: Int) -> Planet { return Planet(rawValue: n)! } } let mars = Planet[4] print(mars) enum Env { static var envs: [String: String] = [:] static subscript(_ name: String) -> String? { get { return envs[name] } set { envs[name] = newValue } } } Env["hoge"] = "hoge" print(Env["hoge"])
初めて知ったこと
static
なsubscriptを定義できること.これはSwift 5.1で実装された比較的新しい機能で,例えば環境変数を表すのに丁度いいよねといったことがプロポーザルに書いてある.
以前何回か使い方はよくわからないって書いたことあったけど,プロポーザルを読めばわかりそうなので今後は読んでいきたい.OSS最高です.