こんな方にオススメ
2021/10月~2022/1月 macOS Monterey(12.1)にて確認した内容で掲載。
if文
「もし入力が条件ならば」青文字をそれぞれ変更して使います。 | |
入力 | すべて |
出力 | すべて |
if文はプログラミングの基本となる条件分岐になります。 【if文】iOS版はこちら。 |
このアクションはプログラミングではおなじみのif文そのものになります。よくわからんって方向けに解説します。ifは「もし」とかいう意味の単語です。そしてif文は「もし条件が一致するならこの処理を、そうでないならこっちの処理を」みたいな感じで、要素によって処理内容を変えたい場合に使います。
入力は基本的に全て受け付けます。画像であれ動画であれテキストであれ、基本的にはなんでもOKという認識で構いません。
条件は要素によっていくつか種類があるんですが、だいたい以下の通りです。前半はテキストと書いてありますが、数字でもOKです。逆に最後の方にある次より大きい等は数字限定となります。写真などは任意の値or値がないの2種類しか使えません。
- 次と等しい
- 指定テキストと入力テキストが完全一致する場合のみOKとする
- 次と等しくない
- 指定テキストと入力テキストが一部でも一致しなければOKとする
- 任意の値
- 入力テキストが1文字でもあればOkとして、何も無ければNGとする
- 画像などの場合は画像があればOKとして、無ければNGとする
- 値がない
- 入力テキストが1文字でもあればNGとして、何もなければOKとする
- 画像などの場合は画像があればNGとして、無ければOKとする
- 次を含む
- 入力テキスト内に指定テキストが含まれていればOkとする
- 次を含まない
- 入力テキスト内に指定テキストが含まれていない場合のみOKとする
- 次で始まる
- 入力テキストの先頭1文字目が指定テキストで始まっていればOKとする
- 次で終わる
- 入力テキストの最後の1文字が指定テキストで終わっていればOKとする
- 次より大きい
- 入力数字と指定数字を比較して、入力数字のほうが大きければOKとする
- 次と同じか次より大きい
- 入力数字と指定数字を比較して、入力数字が同じか大きければOKとする
- 次より小さい
- 入力数字と指定数字を比較して、入力数字のほうが小さければOKとする
- 次と同じか次より小さい
- 入力数字と指定数字を比較して、入力数字が同じか小さければOKとする
- 次の範囲内
- 入力数字が指定数字2種類の間にある数字であればOKとする、2種類の範囲外にある数字ならNGとする
それぞれ判定の仕方は書いたとおりなので、自分の使いたいやつを使いましょう。
if文の構造について。このif文は全部で3つのブロックを持っています。まずは条件を指定する部分。そしてそのすぐ下の部分と、「その他の場合」と書かれた部分です。条件部分についてはすでに上で書きましたが、ここからはその下の部分についての解説です。
条件のすぐ下の部分は、「条件がOKだった場合の処理を配置する場所」になります。OKブロックと呼ぶことにします。OKの場合は入力データがOKブロックに渡され、処理を行います。そしてOKブロック内の全ての処理が終わると、NGブロック内の処理をすっ飛ばしてif文の結果として出力します。
「その他の場合」と書かれた部分から「if文の終了」までの間を、NGブロックと呼ぶことにします。このNGブロックは条件がNGだった場合の処理を作成します。条件がNGだった場合はOKブロック内に一切触れること無く、NGブロックへと入力データが渡されます。そしてNGブロック内の処理がすべて終わると、if文の結果として出力します。
NGブロックのみ単体削除ができるので、「条件に一致する場合はOKブロックへ渡したいけど、NGだった場合は何も処理を行わずにif文の結果として出力したい」などが可能です。
使用例
実際に使用例を掲載し、使ってもらうほうが理解が早いかなと思うのでわかりやすい例を書きます。今回はあえて無茶苦茶な処理を置くことによってif文の使い方を無理やりでも理解してもらうのが目的なので、マトモな組み方はしません。ご了承。
- 【数字:mac版】
- 指定数字は何でもOKです。今回は5とします。
- 【if文:mac版】
- 条件→もし数字が次より大きい 6
- 一致する場合(条件の真下に配置)
- 【Webで検索:mac版】でgoogleで数字を検索しましょう
- 一致しない場合(その他の場合の真下に配置)
- 【ツイート:mac版】ツイッターアプリかなんかが起動するはずです
指定数字は5で、条件が「6より大きいかどうかを判定」で、大きい場合はGoogleで検索しますが、同じor小さい場合はツイート画面が起動するはずです。
ここからは実用的な使い方紹介。if文はプログラミングにおいてif文にif文を入れて使う事が可能となっています。これはネストって言うんですが、ショートカットでもこれは可能です。
例えばif文の条件が一致→OKブロック処理の中にもう一つif文を入れるなど、条件を細かく指定して判定し続けることが出来ます。これにより何ができるって言うわけでもありませんが、処理が微妙に異なる場合に複数のショートカットを作成する必要がなくなります。
慣れるまではif文一つを使ってみて、なれてきたらif文ネスト構造もやってみると面白いと思います。
関連アクション
macOS版ショートカットのスクリプト・制御フロー系アクション | |
---|---|
SSH経由でスクリプトを実行 | シェルスクリプトを実行 |
AppleScriptを実行 | JavaScript for Automationを実行 |
if文 | ショートカットを停止 |
メニューから選択 | 各項目を繰り返す |
繰り返す | 待機 |
停止して出力 | 戻るまで待機 |
リスト | リストから項目を取得 |
リストから選択 |