日本語がカオスだ。
Schemeのlambda
| ;平方する関数「square」 (define square (lambda (n) (* n n))) (square 5);=> 25 |
| ;squareの実行をlambdaで包んで別名をつけてみる (define f (lambda (n) (square n))) (f 5);=> 5 |
| ;squareという名前が付いていた中身をsquareと置き換える (define f (lambda (n) ((lambda (n) (* n n)) n))) (f 5);=>25 |
| ;fという名前が付いていた中身をfと置き換える ((lambda (n) ((lambda (n) (* n n)) n)) 5);=> 25 |
| ;無駄なlambdaを排除 ((lambda (n) (* n n)) 5);=> 25 |
| ;これと同じ ((lambda (n) (square n)) 5);=> 25 |
| ;これとも同じ ((lambda (n) (f n)) 5);=> 25 |
| ;これとも同じ (square 5);=> 25 |
| ;これとも同じ (f 5) (* 5 5) 25 |
0 件のコメント:
コメントを投稿