作者dryman (dryman)
看板Perl
标题Re: [问题] return 一个function
时间Tue Jan 3 22:30:35 2012
(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)
1F:推 heeyahan:第一个是老师给的例子 感谢^^ 01/04 00:23