MathLibrarycuts

数式などを定義したライブラリファイルを読み込み、関数として使うレシピ


Description

説明

このショートカットでは, 予め「ファイル」アプリに保存したplist形式のテキストファイルを辞書として読み込み, 中にあるルール付けられた関数を適用して必要に応じて4種類の値を表示します.


ライブラリとなるplistファイルの構文

例えばx+1という関数を定義する場合は

<key>favorite function name</key>
<array>
<string>x+1</string>
<string>変数</string>
</array>
と, keyに好きな関数名を書き, 配列arrayの先頭に数式, その後ろに対応する変数をすべて書き並べます.

配列array内のstring要素が一つの場合は定数として扱います.

<key>favorite function name</key>
<array>
<string>123</string>
</array>

定数で例えば<string>123.4^-5</string>と入力すると123.4×10^(-5)として扱われます.

こうして作成したplist形式のテキストファイルを「ファイル」アプリの"Shortcuts"フォルダの中に保存します.

保存先のファイルパスをレシピの一番上にある「テキスト」アクションで指定することで初めて機能します.

サブルーチンとして使う

配布時点では, レシピ末尾に「結果を表示」で演算結果などが表示されるようになっています.
サブルーチン(関数)として使う場合はこのアクションを削除してその上の「リスト」が出力となるようにしてください.
  • numerical formula
    …MathLibrarycutsの入力として渡された値そのものです, 数式の場合は各変数にどんな値を代入したかが配列として格納されます
  • formula
    …文字式, 定数の場合は空のデータです
  • value
    …MathLibrarycuts内での「計算式」アクションによる演算結果. 通常の意味での「返り値」がこれに相当します(小数以下の桁数は「計算式」アクションに従います).
  • V
    …基本はvalueと同じ値ですが, 例外として定数のうち指数が極端に小さい場合はこの値が「仮数部」と「指数部」の配列として出力されます.
     演算結果が著しく小さくなり, 「計算式」アクションの桁数によって0になることを想定したもので, 普通は使いません.

関数として呼び出す

C言語で関数を呼び出す際にfunction(1,2)などと書いてコールする代わりに, このレシピでは辞書アクションを使って例えば下のように記述します.


辞書の値は必ず「配列」にし, 定数の場合は項目数が0のままに, 数式の場合は配列の中に数字を入れます.
追加する数字の並びはplistで定義した並びと同じにする必要があります.


デフォルトで正しく数式を呼び出した場合は画像のようになります(画像は上記画像にある辞書の内容を引数として判別式b^2-4acの定義式を呼び出した例).

当然, 引数となる数たちはマジック変数を用いることも可能です.


あるいは画像のように引数を「入力を要求」のたびに「変数に追加」で格納していき…


この変数を引数として「辞書」アクションの値にしても同じように実行されます.

実際に使う場合はこちらの使い方が現実的でしょう.


Latest Release Notes

0.1 - Nov. 8, 2020, 1:24 a.m.

リリース