Scheme事始め4:自作関数

  • ラムダ関数(ただの関数)は「関数である」ことしか決めないので、それに名前をつけてとっておくには、そのための方法が必要になる
> (define
    linear
    (lambda (a b x ) (+ (* a x ) b)))
> (linear 2 3 4)
11
    • これは、「定義しましょう、linear というものを、「ただの関数として、ただし、それは3つの変数a,b,xを使って次のような関係式として」と読める
  • また同じことは
> (define
    (linear a b x)
    (+ (* a x ) b))
    • とすることもできる。あえてこれに別の『訳文』をつけるとすれば、「定義しましょう、「linear a b x」とは「(+ (* a x ) b)」と同じである、と」となる
  • 訳文解釈上は別に見えるが、これをどちらで書いても、計算機としては同じものとして扱っていることになる