【iPhone】ショートカットで簡易計算機 [with 計算式アクション]
iOS14で追加された計算式アクションを使ってなんかやりたいな〜ということで、簡易計算機なるものを作成してみました。
普通に電卓としても使えますし、変数を使って二次方程式の解を計算したりとかもできます。
計算式アクション
1. ショートカットの取得
以下、リンクになりますのでクリックしてマイショートカットに追加してください。
math solver
2. 基本的な使い方
実行し、計算式を入力して完了を押すだけです。そうすると、計算結果が画面に表示されます。
使い方その1
※ デフォルトの数式入力はクリップボードの中身になっていますので、何か関係のない値(今のクリップボードの値)が入っていたら手動で消すようにしてください。
計算終了後、入力した数式をクリップボードにコピーするか否かを聞かれますので、コピーしたい場合は「はい」を押してください。
使い方その2
3. 変数を使う
「$+英字1文字」の形で変数を利用することが可能です。
例えば、「a + b + c」という数式を使いたい場合には、
$a + $b + $c
のように入力すれば使うことができます。
変数を式に含めた場合、数式入力後に代入する値を聞いてきますので、順番に気をつけながらカンマ区切りで値を入力してください。
変数の使用例(画像のみ)
(1)
(2)
※ 変数への代入値の入力は、数式中に初めて登場した順に入力することになるので注意する。
例えば、式が「$b$a$b」ならば、b,aの順に入力するということになる。
※ 同じ名前の変数への入力は1回でおk
4. 変数に数式を代入する
「$+英字1文字」の形で宣言した変数には数式を代入することも可能です。
変数に数式を代入する例(画像のみ)
(1)
(2)
5. 二次方程式の解の公式
本ショートカットで使える二次方程式の解の公式をここに置いておきます。
(1) (-$b - sqrt($b$b - 4$a$c)) / (2$a)
(2) (-$b + sqrt($b$b - 4$a$c)) / (2$a)
(3) (2$c) / (-$b - sqrt($b$b - 4$a$c))
※ (3) は (2)を変形したモノ。一応
※ 代入値の入力の順番に気をつけること
6. 使用できる関数など
よく使うであろうものは以下記事にまとめてありますので、参考にしてください。(記事で紹介しているもの以外もいろいろとできるみたいですが....。)
よくみてみると、この時のまとめに「ショートカットでもスポットライト検索みたいなことできればいいのに」なんてボヤいてました。まあどうでもいいですが
使える関数や文字などについてはそのうちちゃんとしたまとめを作りたいと思っていますが今はとりあえずこんなところで....。
7. まとめ
今回は、iOS14で新しく登場した「計算式アクション」を使った簡易計算機ショートカットを紹介しました。
入力した数式はクリップボードに保存することができますので、同じ式に値を変えて代入を繰り返すといった作業が簡単に行えると思います。
また、本ショートカットは変数は「$+英字1文字」の形しかサポートしていませんが、ショートカット中の正規表現を以下のように書き換えていただくことで、英字2文字以上に対応させることができるかと思います。時間があれば試してみてください。
\$[a-zA-Z] -----> \$[a-zA-Z]+
+ を付け加えるだけです。
あと以下はレシピをいじる時のアイデア(?)のテキトーなまとめですが、自分用のメモも兼ねていたりします。書いておかないと忘れてしまうので...
(1) 最後の「コピーしますか?」のメニューが鬱陶しければ、無条件で式をコピーするようにする or コピーしないようにする
(2) よく使う数式のお気に入り機能みたいなものがあったら面白いかもしれない。ただ、ショートカット中に直接組み込むのは少々手間だし操作が煩わしくなるので、それ専用のショートカットを新規作成したほうがいいと思う。例えば、リストアクションに式をためておいて、そこから選択してクリップボードにコピーさせるなどとすればいいかもしれない。デフォルトではクリップボードの値が式入力になるので、コピーの手間とかも発生しない。
or メモに書き込むようにしてそこから読み込むようにする。
(3) 計算の履歴をメモに残すようにしてもいいかもしれない。ただ、そうはいっても計算結果を残すのか、入力された数式を残すのか、などなど色々ある。全部残すという手もあるが、どうだろう。
(4) 代入値の入力の区切りはカンマじゃなくて改行の方がいいかもしれない。
(5) 代入値の入力のときに数式が見えた方がわかりやすいかもしれない。そうしたい場合には単純にマジック変数「inputedExpression」を読み出せばよい。
では、今回はこの辺で
では〜〜。
この記事が気に入ったらサポートをしてみませんか?