左の2枚は入力カードで、税抜 500 と税率 8 です。 その右の「税込価格」は計算カードで、同じ式で、見本の値 540 円を出しています。 見出しの「ƒ 税込価格(税抜, 税率)」が、この計算が関数になっている印です。 「税額」も、同じ入力を使う計算カードで、40 円です。
右の「洗剤」と「水」は呼び出しで、引数を打って使います。 洗剤は税抜 300・税率 10 で 330 円、水は税抜 100・税率 8 で 108 円です。 それぞれの下の小さなカードは、同じ呼び出しの2つ目の出力で、税額が 30 円と 8 円です。 右端の集計カードは、2つの呼び出しの合計 438 円です。
関数にする
計算カードの ⋯ メニューから「関数にする」を選びます。 出る窓で、関数の名前、引数、出力を決めて「決定」を押します。 カードは動かず、増えません。出力カードに ƒ の印と名前が付くだけです。
本体の範囲は、出力にした計算カードから、式でつながった上流のカードをたどって決まります。 計算カードは本体の内側、入力カードは引数です。 それ以外のカード(リストの集計や単位換算など)は本体の外にあるものとして、そのときの値を読みます。 ボード1では、入力の税抜と税率が引数になります。 引数の順は、式に出てくる順です。窓の ↑↓ で並べ替えられ、「固定する」を選ぶと、その入力カードは引数から外れます。
引数になる入力カードがないと、関数にできません。名前は、文字か _ で始め、文字・数字・_ だけで、20 文字までです。 同じボードの中で同じ名前は付けられず、sin や max のような組み込みの関数名とも重なれません。
本体は1組だけで、呼び出しは本体を参照します。だから、本体の式を直すと、すべての呼び出しに効きます。 ボード1で、「税込価格」の式の最後に「+ 10」を足すと、本体は 550 円、洗剤は 340 円、水は 118 円になり、合計は 458 円です。
関数の呼び出し
盤面に関数があると、パレットに「マイ関数」の棚が出ます。そこから置くと、呼び出しカードになります。 引数の数だけ口が並び、数を打つか、ほかのカードから線をつなぎます。 線をつなぐと、その口は参照になり、外すと欄に戻ります。 値は、本体の1番目の出力で、単位と表示の桁も、本体の出力カードのものを引き継ぎます。
口を空にすると、その呼び出しは未回答で、値は「—」になります。黙って 0 にはなりません。 ボード1で、洗剤の税率の口を空にすると、洗剤は「—」、つないだ合計も「—」になり、水は 108 円のままです。
呼び出しカードの「この値で見る」を押すと、本体の入力に、その呼び出しの引数が一時的に入ります。 洗剤なら、本体に 300 と 10 が入り、本体の値は 330 円、税額は 30 円です。 この表示は保存されません。「定義へ」は、本体のカードへ移ります。
関数を解除したり、本体を消したりすると、呼び出しは ⚠ になり、「関数が見つかりません」と出ます。
計算カードの式の中から呼ぶこともできます。式から呼べるのは、英数字の名前の関数だけです。 ボード1の関数の名前を withTax にして、計算カードに withTax(300, 10) + withTax(100, 8) と書くと、438 になります。 日本語の名前の関数は、呼び出しカードで使います。
関数の出力
関数は、出力を複数持てます。 「関数にする」か「関数を編集」の窓で、同じ入力を使う別の計算カードを2番目以降の出力に選ぶと、呼び出しの下に小さな出力カードが並びます。 呼び出しと一緒に動き、一緒に消えます。引数を変えると、全部いっしょに変わります。 線をつないで、散布図の X・Y、計算、集計に使えます。
ボード1では、「税額」が2番目の出力です。洗剤の下に 30 円、水の下に 8 円と出ます。
この関数を自分のボードに持ち込む
ボード1の「税込価格」(本体、税額の出力、洗剤の呼び出しと、その下の税額)は、下のボタンでコピーできます。 コピーした中身は、CalcAnyway のボードの空いたところで Ctrl+V(Mac は ⌘+V)を押すと、カードとして貼り付けられます。 空いたところをクリックしてから貼り付けます。カードの文字を編集している最中だと、その中に文字として入ってしまいます。 本体と呼び出しの結びつきは、貼り付けたあとも保たれます。 同じ名前の関数がそのボードにすでにあると、貼り付けた関数の名前には 2 が付きます。
ボタンを押しても、ページの外には何も送られません。クリップボードに書くだけです。