「繰り返す」「リスト」といったアクションは、
「便利そうだけど、使い方がよく分からない…」
と思っている方が多いと思います。
しかし、実際には難しいことはなく、正しい理解と少しの実践があれば誰でも簡単に使いこなすことができます。
【iOSショートカットで学ぶ!プログラミング教室】シリーズ 第2回では、プログラミングの基本要素「反復」について学びました。
ついに初級編の最終回となった第5回の本記事では、
- 「反復」とは何か?(復習)
- 「反復」を可能にするアクション3つ
- 無限ループ
について解説していきます!
また、最後にショートカットを作りながらアウトプットする実践編では、
本記事で学ぶ「繰り返す」系のアクションに加えて「if文」「メニューから選択」アクションも使います。
もし、「if文」「メニューから選択」アクションの使い方がよく分からない方は、前回の記事をご覧ください!
それでは、Let’s プログラミング!
「反復」とは?
第2回で既に学んだ方は復習になりますが、念の為もう一度解説しておきます。
「反復」とは、ある特定の処理を繰り返すことです。
「反復」はプログラミングの基本3要素のうちの一つで、ショートカット作り(=プログラミング)をする上で、必要不可欠なものになります。
プログラミングと聞くと、難しく感じる方も多いかもしれません。
ただ、日常生活においても「反復」はよく起きていることなのです。
例えば、
「スクワットを10回する」
というのも立派な反復です。
そう考えると、理解しやすいのではないでしょうか?
「反復」をするためのアクション3つ
この特定の処理を繰り返す「反復」を行うために、ショートカットには大きく3つのアクションが用意されています。
一つ一つ解説していきます。
1つ目のアクション:「繰り返す」
まずは基本中の基本である「繰り返す」アクションです。
「繰り返す」アクションは、繰り返したい処理を決められた回数実行してくれます。
実際のショートカット作成画面で見てみましょう。
↓ 「繰り返す」アクションを置いただけの状態
↓ 繰り返したい処理を入れてみた状態
このショートカットを実行すると、「”アラートです!”と表示する」処理を5回繰り返すことになります。
このように「繰り返す」アクションを使えば、任意の処理を好きな回数実行することができるのです。
もちろん、「5回」という回数を「10回」「20回」と増やすこともできます。
何度も同じ処理をしたい時には便利なアクションです。
2つ目のアクション:「リスト」
続いて、「リスト」アクションを解説します。
ショートカットの作成画面で、「リスト」アクションを置いてみると以下のようになります。
デフォルトでは「1件」「2件」とデータが2つ入っていますが、その内容や数は自由に調整できます。
「変数を追加」というアクションを覚えていますか?
第3回の記事で説明したものです。
設定された変数に新しいデータを追加し、複数のデータを1つの変数の中に入れることができるアクションでした。
複数のデータが1つの変数の中には入っているという状態、これはリストと全く同じ働きをしています。
「じゃあ、リストではなく変数で良いのは?」
と思った方もいると思います。
しかし、「できれば変数を使うことは避けたい」です。
これはApple公式の「ショートカット ユーザーガイト」にも書いてあることですが、変数を使うとプログラムが長くなり読みにくくなってしまうからです。
変数で「リスト」と同じ機能を再現しようとすると、
・「変数を設定」
・「変数を追加」
という2つのアクションが必要になってしまいます。
「リスト」はたった1つのアクションで、変数の2つのアクションの機能を、ほぼ代替できてしまうのです。
基本的にプログラミングをする際は、簡潔なプログラムを作ることが重要です。
ミスの原因が特定しやすくなりますし、他の人にプログラムを見せた時に理解してもらいやすくなるからです。
以上のような点から、リストと変数のどちらを使うか迷った時は「リスト」を選択すべきだと言えるわけです。
3つ目のアクション:「各項目を繰り返す」
最後に「各項目を繰り返す」アクションを解説します。
「各項目を繰り返す」アクションは指定したリスト内の項目を一つ一つ取り出して、指定した処理を実行することができます。
ショートカット作成画面で「各項目を繰り返す」アクションを追加した状態を見てみましょう。
「”項目”の各項目を繰り返す」の”項目”にはリストを設定します。
「リスト」アクションを追加し、”項目”の箇所に設定すると以下のようになります。
そして、「テキスト」アクションを「”リスト”の各項目を繰り返す」の下に追加し、テキスト内で「変数を選択」をタップしてみましょう。
すると、「”リスト”の各項目を繰り返す」アクションの下に「Repeat Index」と「Repeat Item」という項目が出てきます。
- 「Repeat Item(繰り返し項目)」はリストから取り出された各項目のデータの内容
- 「Repeat Index(繰り返し番号)」はリストから取り出した各項目が何番目のデータか
ということを表しています。
図にすると以下のようなイメージです。
では、先ほどまでのショートカットのテキストアクション内に「”Repeat Index”番目の人は”Repeat Item”です」と設定してみましょう。
そしてショートカットを実行してみると、「1番目の人は太郎です」と出力され、結果画面を右にスワイプすると「2番目の人は花子です」「3番目の人はマイケルです」と出力されているのが分かります。
このように、「各項目を繰り返す」アクションでは「Repeat Index」「Repeat Item」を使ってリスト内の項目を処理できるのです。
“リスト”は「リスト」アクション以外でも作れる!
先ほどは「各項目を繰り返す」アクションの入力(「”項目”の各項目を繰り返す」の”項目”)部分に、事前に「リスト」アクションで作ったものを設定しました。
しかし、「各項目を繰り返す」アクションの入力には、「リスト」アクション以外の”リスト”も設定することができます。
「何を言っているんだ?」
と感じる方も多いと思います。
実は、そもそも「”リスト”=複数のデータを持つもの」であり、“リスト”は「リスト」アクションを使わなくても作ることができるのです。
例えば、
「リマインダーを検索」というアクションでは、特定の条件と一致するリマインダーを検索し、条件と一致する複数のリマインダーを”リスト”として出力します。
このように、「リスト」アクション以外にも、複数のデータを持つことになるアクションは結果として”リスト”を出力します。
すなわち、「各項目を繰り返す」アクションは入力に「リスト」アクションで作った”リスト”(複数のデータを持つもの)以外にも、他のアクションの結果(複数のデータを持つもの=”リスト”)を受け取ることができるということです。
ちなみに、
「繰り返す」「各項目を繰り返す」アクションの結果を出力した「繰り返しの結果」も”リスト”です。
リストに繰り返し処理が行われ、結果のリストが出力されるまでのイメージは以下のような具合です。
“リスト”は「リスト」アクション以外でも作れるというイメージを掴んでいただけたでしょうか?
【実践編】今日が期限のリマインダーを表示するショートカット
これまで、「反復」を実現するアクションについて解説してきました。
いよいよ実践編です。
作るのは「今日が期限となっているリマインダーを表示する」ショートカットです。
「if文」「メニューから選択」などを使い、前回の内容の復習にもなっていますので、少し難易度は高くなっていますが一緒に作って理解を深めていきましょう!
作成するショートカットの大まかな流れです。
1. 期限が今日になっているリマインダーを検索する。
2. 検索結果のリマインダーの各項目で「何番目のリマインダー」で「内容は何か」をテキストに設定する。
3. もし、リマインダーを検索して値があれば、アラートで上のテキストを表示する。
4. もし、リマインダーを検索しても値がない場合には、「もう一度検索するorしない」を尋ねる。
→検索する場合は、ショートカットを再実行する
かなり複雑でイメージしにくいと思いますので、以下のリンクからダウンロードして使ってみてください!
https://www.icloud.com/shortcuts/b21af084ce0c49279346b7766422b5f7
イメージを掴めたら、実際に作っていきましょう!
① 新規ショートカットの作成画面から「アクションを追加」を選択し、検索欄に「リマインダーを検索」と入力しアクションを追加します。
② 追加したアクションの「フィルタを追加」をタップし、フィルタ内の”リスト”をタップし”期限”に変える。そして”次に完全一致”をタップし”今日である”に変える。
③ 「各項目を繰り返す」アクションを追加し、「”リマインダー”の各項目を繰り返す」となっていることを確認する。
④ 「テキスト」アクションを「”リマインダー”の各項目を繰り返す」の下に配置し、テキストの中が「”繰り返しインデックス(Repeat Index)”番目は”繰り返し項目(Repeat Item)”」となるよう設定する。
⑤ 「繰り返しの終了」の下に「if文」アクションを追加し、「もし”繰り返し項目”が”任意の値”ならば」となるよう設定する。
⑥ 「もし”繰り返し項目”が”任意の値”ならば」の下に「アラートを表示」アクションを追加し、「アラート”テキスト”を表示」となるように設定する。
⑦ 「その他の場合」の下に「メニューから選択」アクションを追加し、メッセージを「見つかりませんでした、再検索しますか?”」に、選択肢を「はい」と「いいえ」に設定。
⑧ 「はい」の下に「ショートカットを実行」アクションを追加し、現在のショートカットを実行するように設定する。
作成完了です!
初級編の最終回にふさわしい、難易度の高いショートカットですね…。
これだけのものが独力で作れたら、プログラミングの基本が身についている証拠だと思います。
最後に「無限ループ」の補足をさせてください!
無限ループとは?
あるショートカットAの中で「ショートカットAを実行」することで、何度もショートカットAの実行を繰り返すことを、無限ループと言います。
無限ループの状態になると、そのショートカットを停止するまで、ショートカット内のアクションが最初から最後まで繰り返し実行されることになります。
先ほどショートカットを作成する時、⑧で
「はい」の下に「ショートカットを実行」アクションを追加し、現在のショートカットを実行するように設定する。
ということをしたと思います。
「再検索しますか?」という質問に対して「はい」を選択すると、もう一度最初からショートカットを実行するようにしたわけです。
しかし、再検索をしたとしても「リマインダーの検索結果」は変わらず「値がない」ままですよね。
つまり、「再検索しますか?」という質問に対して「はい」を選択し続けると無限にショートカットが実行され、「いいえ」を選ぶと無限ループから抜けられる状況を作ったということです。
「何のためにそんなことを?」
と思っている方も多いでしょう。
今回作ったショートカットの場合は、特に意味はなく「無限ループ」の解説のためにあえて作りました。
しかし、「ショートカットを実行」アクションを使って「無限ループ」にすることで、実現できることが増えるのは確かです。
使う場面は少ないですが、「こんなこともできる」と知っておくと必ず役に立つ知識ですのでご紹介させていただきました。
終わりに
「iOSショートカットで学ぶ!プログラミング教室」第5回となった本記事では、
- 「反復」とは何か?(復習)
- 「反復」を可能にするアクション3つ
- 無限ループ
などについて解説しました!
今回の内容もかなりボリューミーだったと思いますが、何度も読み返して理解を深めていただければ幸いです。
ついに「iOSショートカットで学ぶ!プログラミング教室」初級編が終了しました。
ここまでの内容を理解できた方は、プログラミングの基礎は十分身についたと自信を持って良いと思います。
ついに次回より上級編に突入します。
専門用語が増えるので理解が難しいところもあるかもしれませんが、なるべく分かりやすく噛み砕いて解説していきますので、お楽しみに!
次回の記事はこちら!
プログラミング教室の記事一覧
-
【経験談あり】プログラミングの基礎を理解した後、副業で稼ぐ3つの方法を解説!
-
【超簡単】iPhoneの「ショートカット」アプリでプログラミング学習を始めよう!
-
iPhoneショートカットの「スクリプティング」とは?プログラミングの基本3要素を理解しよう!
-
【徹底解説!】「変数」って何?iPhoneショートカットを作りながらマスターしよう!
-
【if文をマスターする!】iPhoneショートカットで条件分岐を完全理解しよう!
-
「繰り返す」や「リスト」をiPhoneショートカットで使いこなそう!
-
「JavaScript」とは?iPhoneショートカットで実行する方法を徹底解説!
-
JavaScriptで「変数」と「配列」を扱う方法を学習しよう!
-
「条件分岐」「繰り返し」をJavaScriptで行う方法を理解しよう!
-
Web APIって何?iPhoneショートカットで活用する方法!
-
実践!iPhoneショートカットでWeb APIを使いこなそう!