関数を束縛する
たぶん、間違いなく「束縛」の用法を間違っている。
javascript
js> f=function(x){return x+1} function (x) { return x + 1; } js> f(2) 3
haskell
$ echo 'main=print $ f 1;f = \x -> x + 1;' >a.hs| ghc a.hs ; ./a.out ; rm a.* 2
マルチステートメントの書き方間違ってるかもしれない(笑
通常
Prelude> let f = \x -> x + 1 Prelude> f 2
gauche
gosh> (define f (lambda (x) (+ x 1))) f gosh> (f 2) 3
elisp,common lisp
(setq f (function (lambda (x) (+ x 1)))) (lambda (x) (+ x 1)) (funcall f 1) 2
どうもlambdaの時にはfunctionは省略可能みたいだが、次の時には必須
(defun f (x) (+ x 1)) f (setq b (function f)) f (funcall b 2) 3
ruby
なんか違う気がする
irb(main):001:0> f=Proc.new{|x| x+1} => #<Proc:0x403348bc@(irb):1> irb(main):002:0> f.call(2) => 3