日本語がカオスだ。
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 件のコメント:
コメントを投稿