今回は辞書アクションを利用して単語帳を作ってみました.
※価格は記事執筆時のものです. 現在の価格はApp Storeから確認ください.
レビュー時のバージョン : v4.0.1
スポンサーリンク
項目の追加・削除可能な単語帳
英語や用語などを暗記する手段の一つとしてメジャーな単語帳をショートカットアプリで作ってみようという試みです.
リストやメニューでは全部表示されてしまうので選択肢として辞書がベター, でも単語+意味に加えてランダム表示するためのパラメタが必要なので単純に辞書を使うだけでは実現しません.
コツとしては, 辞書の中に更に辞書を入れることです.
はじめの辞書のキーには乱数用の数字を入れ, 各々の値は辞書にします.
入れ子となった辞書にはテキストとします.
ここで単語をキー, 意味を値として入力すれば頭の辞書の中に◯×番目に各々の単語+意味のセットが入ることとなります.
イメージとしては元辞書の構造は
(1, (単語1, 意味1))
(2, (単語2, 意味2))
…
となっています.
これで例えば元辞書のキー "1" の値を拾えば辞書 (単語1, 意味1)を得ることができ, このキーを拾えば単語1が, 同じく値を拾えば意味1が得られる…というわけです.
フロー
ではフローを見ていきます.
まず「辞書」アクションを追加して先程の方法で必要な分だけ単語リストを追加していきます.
変数を置いたのは後でわかりやすくするためです.
続いて単語帳データをランダムで取得して単語と意味を取り出すのですがiOS13になってからショートカットの仕様がわかりにくくなりましたね…
簡単に説明すると
- 「計算」アクションで乱数を発生(追加した単語リストに数を合わせてください)
- 「辞書の値を取得」アクションで上記で生成した番号の辞書の値(単語+意味の辞書)を取得
- 「辞書の値を取得」アクションで上記で取得した辞書のキー(=単語)を取得
- 「辞書の値を取得」アクションで上記で取得した辞書の値(=意味)を取得
…によって辞書にあるランダムな番号の単語と意味を取得します(画像左).
あとは今回であれば例えば「入力を要求」アクションで単語に沿う意味を問わせてif文で正誤確認すればOKです(画像右).
起動確認
これで今回の作例では問に正解するとシンプルに「正解!」,
間違えると正しい意味を表示します.
〆
今回はランダム表示にしましたがfor文で順番に表示したり, 正誤にせずクリックしたら必ず意味を表示する仕様でも良いでしょう.
[Shortcut]単語帳by thetheorier
一部ややこしいのでicloudリンクを貼っておきます.
辞書の部分と乱数の数字を適宜変更して使ってください.
今回の例のように, 辞書は数学の数列を拡張したようなものと解釈することができますね(数列のような便利さはありませんが).