【iPhoneショートカット】アクションを自作する

更新情報

2020/08/02
スクショを見やすくしました。
[4. 戻り値の明示[return文]] の章を追加しました。

2021/09/19
[5. シグネチャ(それっぽいの)を明示する] を追加
[6. 入力と出力についての補足] を追加


アクションを自作する方法についてのまとめです。

アクションを自作ってなんやねんって話なんですが、それはまあ、雰囲気で

1. はじめに

ショートカットにはすでに作成済みの他のショートカットを呼び出すことができる ショートカットを実行アクション が存在する。

ショートカットを実行アクション

画像1


このアクションを使うことで、自分で作成したショートカットを、あたかもショートカットAppに初めから用意されているアクションのようにして使うことができるようになる。

使用例

画像6


右の 帰宅・外出時設定ショートカット で、作成済みの2つのショートカットをアクションのように使用している。


2. 自作アクションの入力・出力

ショートカットを実行アクション を使った場合でも、ショートカットAppに初めから用意されているアクションと同様に、なんらかの値を入力として渡したり、処理した結果を出力として受け取ったりすることができる。

画像6

※ 呼び出すショートカットの最後のアクションの出力が、そのまま ショートカットを実行アクション の出力になる。

※ 2乗は計算アクションで求められるので、例のショートカットに実用性はありません。注意


3. 複数の入力・出力

ショートカットを実行アクション には、変数を1つしか渡すことができない。また、出力も変数1つのみである。

よって、入力を複数与えたい場合、または複数の出力を得たい場合には、それらについてのルールを予め決めておく必要がある。

ルールの決め方は自由だが、ここでは私的にわかりやすかったものをいくつかまとめておきたいと思う。


(1) リストで受け渡しする
リストを使えば、簡単にデータを複数入力させたり、出力させたりすることができる。

画像6


(2) 辞書で受け渡しする
リストとほぼ同じことを、辞書を使ってもできる。辞書を使うと、関数の引数ライクに入力を渡せるようになるので、わかりやすくなる。

画像6


(3) テキストで受け渡しする
テキストで受け渡しする場合は、自分でデータの区切りのルールを決める必要がある。

カンマで区切った例

画像6


4. 戻り値の明示[return文]

"ショートカットを終了"アクション を使うと、戻り値を明示することができる。

"ショートカットを終了"アクション

画像7

使用例

画像8


また、このアクションが呼び出した先のショートカットの中で実行されると、その時点で呼び出した先のショートカットでの処理を終了し、呼び出し元のショートカットの処理に戻る。つまり、一般的なプログラムでいうところの return文 のように使うことができる。

例えば、入力として与えられた数が素数かどうかの判定をするショートカット(アクション) を作成したい場合、先ずは入力された数を2で割ってみて、2で割り切れたならばその時点で "ショートカットを終了"アクション を実行させ、呼び出し元に戻るなどすれば、無駄な計算をやらなくて良くなったりする。よくあるやつです。


5. シグネチャ(それっぽいの)を明示する

ある程度ルールを決めて作っておくと、あとで使う時に便利になります。「使い方忘れた」「何渡せばいいんだっけ」「何が返ってくるんだっけ」となりにくいようにする方法を以下記事にまとめました。


6. 入力と出力についての補足

実は「ショートカットの入力」を使わなくても、入力を受け取ることができます。このことを以下記事でまとめました。


7. 「ショートカットの入力」がないとき

「ショートカットの入力」変数がない場合には、以下のような手順を踏むことで解決できる。「ショートカットの入力」変数を使った後は、基本的には共有シート設定をオフに戻しておくのがオススメ。

(1) 共有シート設定をオン

(2) マジック変数 → ショートカットの入力 を使う

(3) 共有シート設定をオフにする。(今日シートから使う場合は当然、オンのままにする。)


8. まとめ

今回は、自作アクション(笑)関係についてまとめました。

辞書で受け渡しすんのが一番わかりやすい気がします。うん

では〜

この記事が気に入ったらサポートをしてみませんか?