iOSでショートカットを作っているとき、「if文」というアクションをよく見かけると思います。
「なんだか難しそう…」と多くの方が思っていることでしょう。
しかし、慣れてしまえば「if文」は簡単に扱うことができます。
「if文」は”条件分岐”というプログラミングの基本3要素の一つです。
そして、”ショートカット作り=プログラミング” なので、プログラミングの基本要素である「条件分岐」をマスターすることは、iOSショートカット作り上達のためには絶対に必要となります。
「ショートカット作り=プログラミング」
「プログラミングの基本3要素」
以上の2点については【iOSショートカットで学ぶ!プログラミング教室】シリーズ 第1回、第2回の記事で詳しく解説していますので、先にそちらをご覧いただけると理解が深まると思います。
【iOSショートカットで学ぶ!プログラミング教室】第4回の本記事では、ショートカットを実際に作りながら「条件分岐」をマスターしていきます!
それでは、Let’s プログラミング!
条件分岐って何?
条件分岐については【iOSショートカットで学ぶ!プログラミング教室】第2回の記事でも説明しましたが、復習もかねて説明していきます。
「条件分岐」というのは、設定した特定の条件によって実行するプログラム(アクション)を変更することです。
条件によって実行するアクションを分岐するから、条件分岐と呼びます。
「もし〇〇だったら、〜〜する」
「もし××が—の時は、△△する」
これが条件分岐の基本になります。
ショートカットを作っているときに、特定の条件でアクションを使い分けたい時はよくありますよね。
例えば、
・Bluetoothがオンのときはイヤホンを自動接続
→Bluetoothがオフのときは「Bluetoothがオフです」とテキストを表示
というような時ですね。
以上のような条件分岐を可能にするために、iOSショートカットには条件分岐をするためのアクションが用意されているのです。
条件分岐で使う2つのアクション
条件分岐を可能にするためのアクションを2つ紹介します。
ここで各々の特徴を理解していただいて、実践編に挑戦して欲しいです。
1つ目のアクション:if文
まずは「if文」アクションです。
以下が「if文」アクション追加後の初期状態です。
ここで公式の「if文」についての説明を見てみましょう。
条件が真かどうかテストし、真の場合は内部のアクションを実行します。
真でない場合は”その他の場合”の下のアクションが実行されます。
「条件が真」は「設定した条件と合致している(正しい、true)」
「条件が真でない」は「設定した条件と合致していない(誤っている、false)」
「テスト」は「判断すること」
なので、公式の説明を分かりやすくすると、
設定した条件と一致しているか判断し、もし条件と合致している場合は内部のアクションを実行する。
もし設定した条件と合致していない場合は”その他の場合”の下のアクションが実行される。
というようになります。
ここまでの内容でif文の基本は十分ですが、ここで押さえておいてほしい特徴があります。
それは「if文の中にif文を入れることができる」ということです。
以下が「if文の中にif文を入れた」状態です。
状況が少し分かりづらいので、図にしてみました。
この「if文をif文の中に入れること」を「ネスト」と言います。
「ネスト」の上限回数は決められていないので、何度もif文の中にif文を入れることができます。
ただ、「ネスト」しすぎるとプログラムが読みにくくなってしまうので注意です。
2つ目:メニューから選択
続いて「メニューから選択」アクションです。
以下が「メニューから選択」アクション追加後の初期状態です。
このまま実行してみると、以下のようになります。
「メニューから選択」アクションではその名の通り、
ショートカット実行時に設定したメニューを出し、選ばれた項目によって特定のアクションを実行できます。
すなわち、メニューから選択してアクションを”条件分岐”できるわけです。
「if文とは何が違うの?」と思われるかもしれません。
「メニューから選択」アクションは、
・条件がif文より細かく設定できない
・多くの条件を設定するときに、プログラムが読みやすい
という点で「if文」と異なります。
if文との違い1つ目:条件がif文より細かく設定できない
「メニューから選択」はあくまで「メニュー内の項目がタップされたとき」という条件しか持つことができません。
また、if文は自動で条件分岐できますが、
「メニューから選択」は、あくまで手動での条件分岐しかできません。
つまり、if文では自動で「Bluetoothの状態を取得し、オンかオフか判定する」ということができましたが、そのようなことが「メニューから選択」ではできないということです。
if文との違い2つ目:多くの条件を設定するときに、プログラムが読みやすい
if文は「ネスト」すれば複数の条件でアクションを分岐させることが可能です。
しかし、すでに述べたようにネストしてしまうと、プログラムが非常に読みづらくなってしまいます。
「メニューから選択」を使った方がプログラムが見やすく、直感的に作業できるのが分かると思います。
ただ、先ほど述べたように「メニューから選択」はif文のように細かい設定の条件分岐はできません。
「if文」と「メニューから選択」の違いを理解し、上手く使い分けることが重要です。
ここまで条件分岐をするためのアクションを解説してきました。
もしかすると理解できない部分もあったかもしれません。
ただ、「習うより慣れろ」と言いますから、
早速実践でショートカットを作って理解を深めましょう!
【実践編1】現在地の天気が雨か判定するショートカット
まずは、「if文」を使って現在地の天気が雨かどうか判定し表示してくれるショートカットを作ってみましょう。
アクションの大まかな流れは以下の通りです。
1.「天気アプリ」で現在地の天気を取得
2.「if文」で条件分岐
3. 雨の時は「傘を持っていって!」と表示
4. その他の時(晴れや曇りなど)は「傘は入りません」と表示
では、作っていきましょう!
① 新規ショートカットの作成画面から「アクションを追加」を選択し、検索欄に「現在の天気を取得」と入力し追加します。すると自動で「”現在地”の天気を取得」アクションが追加されます。
② 検索欄に「if文」と入力し「if文」アクションを追加します。
以下の画像と同じ状態になればOKです。
③ if文アクションの「もし気象状況が”条件”ならば」の「気象情報」をタップします。
④「種類」という項目をタップします。
⑤ 下にスクロールして「テキスト」の項目を選びます。
⑥ if文アクションの「もし気象状況が”条件”ならば」の”条件”をタップし、「次を含む」を選択。
⑦ if文アクションの「もし気象状況が次を含む”テキスト”ならば」の”テキスト”部分に”雨”と入力。
⑧「アラートを表示」アクションを二つ追加して、「もし気象状況が次を含む”雨”ならば」の下と「その他の場合」の下に配置。
⑨ 一つ目のアラートの内容を”傘を持っていって!”、二つ目のアラートの内容を”傘はいらないよ”と入力する。
これで作成完了です!
if文を使ったショートカットを作成することができました!
ポイントは、④〜⑦です!
初期設定されている、「もし〇〇が××ならば」の〇〇の部分の種類を変更しないと、
××の箇所に設定できる条件が「任意の値(値がある)」「値がない」という2択になってしまいます。
これだと、天気が「雨」かどうかの判別ができません。
そこで、〇〇の箇所の種類をテキストにして、それが「”雨”というテキストを含むかどうか」でif文を作ったわけです。
「もし〇〇が××ならば」の〇〇の部分の種類を変更することで、××の箇所で様々な条件が使えるようになりますので、ぜひ色々と試してみてください!
【実践編2】メニュー選択で電話をかけるショートカット
続いて、「メニューから選択」アクションを使って、メニュー選択した相手に電話をかけるショートカットを作成してみましょう!
① 新規ショートカットの作成画面から「アクションを追加」を選択し、検索欄に「メニューから追加」と入力しアクションを追加します。
② メニュー内の項目に適当な名前を入力。「新規項目を追加」を押すと、項目が増やせます。
③ 「電話番号アクション」をメニューの項目の数だけ追加します。
④ 追加した「電話番号アクション」を、メニューの各項目の下に配置する。
⑤ メニューの各項目に対応する電話番号を「電話番号アクション」に入力する。
⑥ 新たに「発信」アクションを追加し、「メニューの終了」の下に配置する。発信アクションが「”メニューの結果”に発信」となっていない場合は、マジック変数の選択から「メニューの結果」を選ぶ。
これで作成完了です!
実行してみると、メニューが表れて選択した項目の電話番号に発信できると思います!
今回のポイントは、2点あります!
・メニューの各項目の下のアクションが実行される(④)
・”メニューの結果”からメニューの各項目内の変数が参照できる(⑥)
メニューの結果で何を参照するかは、「メニューの結果」をタップして「種類」という箇所から変更できますので参考までに!
終わりに
「iOSショートカットで学ぶ!プログラミング教室」第4回となった本記事では、以下の2点について詳しく解説しました。
- 条件分岐とは何か
- 「if文」「メニューから選択」アクションの使い方
実践でショートカットを2つも作成したこともあり、かなりボリューミーな内容だったと思います。
本当にお疲れ様でした。
おそらく、条件分岐のやり方はかなり理解できたのではないでしょうか?
もし理解できないところがあれば、本記事やこれまでの記事を復習しつつ、色々とショートカットを自分で作ると勉強になると思います!
最後までお読みいただきありがとうございました!
次回の記事はこちら!
プログラミング教室の記事一覧
-
【経験談あり】プログラミングの基礎を理解した後、副業で稼ぐ3つの方法を解説!
-
【超簡単】iPhoneの「ショートカット」アプリでプログラミング学習を始めよう!
-
iPhoneショートカットの「スクリプティング」とは?プログラミングの基本3要素を理解しよう!
-
【徹底解説!】「変数」って何?iPhoneショートカットを作りながらマスターしよう!
-
【if文をマスターする!】iPhoneショートカットで条件分岐を完全理解しよう!
-
「繰り返す」や「リスト」をiPhoneショートカットで使いこなそう!
-
「JavaScript」とは?iPhoneショートカットで実行する方法を徹底解説!
-
JavaScriptで「変数」と「配列」を扱う方法を学習しよう!
-
「条件分岐」「繰り返し」をJavaScriptで行う方法を理解しよう!
-
Web APIって何?iPhoneショートカットで活用する方法!
-
実践!iPhoneショートカットでWeb APIを使いこなそう!