特徴
ラムダモードは複雑なプログラムを組む際に役立つ。ラムダモードのボックスは評価されると、計算は行わず自分自身を関数として返す。
このom+関数は「2と2を足して4を返す」のではなく「『2と2を足して4を返す関数』を返す」。
#ref error :画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
このom+関数は「2と2を足して4を返す」のではなく「『2と2を足して4を返す関数』を返す」。
手順
ラムダモードにするにはボックスを選択してbキーを押し、左上を2回クリックする。
#ref error :画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
アイコンがつく。
使用
高階関数と、引数に関数を渡すこと
関数には、数とかリストとかそういう単純な引数をもらって動くのではなくて、関数を受けとったり関数を返したりするような高階関数というものがある。
そういう高階関数の引数として、関数を渡したい時にラムダモードは使われる。
そういう高階関数の引数として、関数を渡したい時にラムダモードは使われる。
例
8+2、8-2、8×2、8÷2、8^2(8の2乗)のうちどれかをランダムに選んで出力したい。すると図の左か真ん中みたいな感じになる。煩雑。
「いや入力一緒なんだから、関数選んでから入力するように組めないの?」→できる。

一番右例の説明
「いや入力一緒なんだから、関数選んでから入力するように組めないの?」→できる。

一番右例の説明
- om+関数、om-関数、om*関数、om/関数、om^関数はそれぞれラムダモードにしてある。
- list関数は上の5つから「関数」をもらってリストにする。(x+yを出す関数 x-yを出す関数 x*yを出す関数 x/yを出す関数 x^yを出す関数)のように。(1.の関数が通常モードならばlist関数がもらうのは戻り値なので(0 0 0 1 1)になってしまう。)
- nth-random関数がリストのうちどれかを選ぶ。例えばx-yを出す関数を選んだとする。
- apply関数が選んだ関数に入力を当てはめる。例えばx-yを出す関数の変数それぞれに8と2が入力されて6が出力される。
添付ファイル