【新サービス告知】いつでもどこでもイベントを開催できる。スマホのWebカメラを利用したVRイベントスペースサービス(Meetatcube.com)
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大

頭痛が減ったので共有です!

rebuild.fmを応援しています!

HOME > Subscript

Subscriptとは?

SubscriptはSwiftから登場してきた仕組みのようです。

Subscript=購買のように本を定期的に番号で購入するように、決められた番号(定数やEnum)でアクセスすると ArrayでDictionaryでデータを取得したようにデータを隠蔽する手段です。関数でもArrayでもDictionaryでも同じ作業をすることが可能ですが、より明確に分かりやすく実装することが可能となっています。


参考:Custom Subscripts in Swift

参考:Swift の Subscript について

やってみた

以下のソースを一度Playgroundにでも貼り付けて実行してみてください。訳のわからないサンプルになってしまいましたが、Salarymanクラスで、健康診断結果を保存できるオブジェクトです。


var me:Salaryman = Salaryman();
me[.Lipid] = "脂質異常";
println(me[.Lipid]);//脂質異常 を出力します
println(me[.BloodSugar]);//結果なし。再検査 を出力します

class Salaryman
{
    enum ResultOfHealthDiagnosis//健康診断結果
    {
        case Lipid //脂質
        case BloodSugar //血糖
        case BloodPressure // 血圧
    }
    
    var results: [ResultOfHealthDiagnosis : String] = [:];
    
    subscript(requestedResult : ResultOfHealthDiagnosis) -> String
        {
        get
        {
            if let thisResult = results[requestedResult]
            {
                return thisResult
            }
            else
            {
                return "結果なし。再検査"
            }
        }
        set(newResult)
        {
            results[requestedResult] = newResult
        }
    }
}

さて、上記よりsubscriptですが要はget/setです。少年ジャンプの[5]号を購入。[秋特別号]を購入するだったりと、 ユーザ側では簡単な定数を割り当てるだけで、内部側ではget/setの処理よりArrayやDictionaryへアクセスするといった仕組みのようです。

自分で上記を書いていて思ったのですがget/setと同じものでもありますので、「subscript=購買」と英語と日本語 に馴染みのない英語なので逆に混乱してしまうかもなぁと思っていました。私はですが「購買」という日本語自体使いませんのでそう感じます。

つきましては私は自分では利用せず、海外のソースを解析する際には上記の認識をしながら進めていけたらと思っております。もっと 納得できる良い利用方法がでてきたら、追って追加してまいります。

↓こんな記事もありますよ!


2021-04-22 14:54:53

かっこいいカルーセル厳選3点!WebGLを使った渋い画像スライダー。

昨日カッコいいスライダーを探す旅にでていました。 よく使われるswiper など、シンプルで使いやすくデザインも良いのですが、何かもの足りない、、、。 そこで調べていくと、webglを使...

2021-04-20 14:46:43

Twillioとは何??skywayとは何が違うのか。webrtcを使う際に判断する情報。

先日webrtc開発で「twillio」といった名前を聞きました。 以前自分でskywayを使ってwebrtcを試していた際に調べた時には、無かったような気もするんだけと、KDDIが絡んでいる...

2021-04-19 13:58:21

先日久々にアップデートした妊娠週刊パパのAndroid版も。アカウント移管したいんだけど、注文ID見当たらないよ。

先日の妊娠、出産、育児関連のアプリ「妊娠週刊パパ」をAndroid studioで再リリースしようと思ってるんだけど、コンパイル失敗してエミュレータで動かせない。 多分sdkとかapiのバージ...
このエントリーをはてなブックマークに追加
右側のFacebookのLikeをクリック頂けると記事更新の際に通知されますので宜しければご利用下さい!