看板 Perl 關於我們 聯絡資訊
(define t(lambda(f) (lambda (x) (f (f x))))) (define s(lambda (x) (* x x))) ((t s)2) my $t = sub { my $f = shift; sub { my $x = shift; $f->($f->($x)); } }; my $s = sub { my $x = shift; $x*$x; }; print $t->($s)->(2); ================================= (define cplus(lambda (x) (lambda (y) (+ x y)))) ((cplus 2)3) my $cplus = sub { my $x = shift; sub { my $y = shift; $x+$y; }; }; print $cplus->(2)->(3); 其實我不知道為何你第一個會寫,第二個卻寫不出來... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.136.185.230 ※ 編輯: dryman 來自: 220.136.185.230 (01/03 22:34) ※ 編輯: dryman 來自: 220.136.185.230 (01/03 22:36)
heeyahan:第一個是老師給的例子 感謝^^ 01/04 00:23