[問題] return 一個function
手上有個作業是希望用perl來達成scheme的function
例如在scheme上可以寫成
(define t(lambda(f) (lambda (x) (f (f x)))))
(define s(lambda (x) (* x x)))
((t s)2)
在perl上就可以寫成
sub t
{
my $f = shift;
return sub{my $x=shift; return $f->($f->($x));}
}
sub s
{
my $x = shift;
return $x*$x;
}
print t(\&s) -> (2);
都會得到相同結果
現在的情況是
在scheme上寫成
(define cplus(lambda (x) (lambda (y) (+ x y))))
((cplus 2)3)
我的想法是這樣
sub t
{
my $f = shift;
return sub{my $y = shift; return $f->($f -> ($y));}
}
sub k
{
my $f = shift;
return sub{my $x = shift; return $f->($f -> ($x)); }
}
sub s
{
my $x = shift;
my $y = shift;
return $x+$y;
}
可是print的地方就不知道該怎麼寫去測試這個程式
google過 都沒找到相關的資料
懇請各位大神幫忙了 ....
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.254.51
→
01/04 00:23, , 1F
01/04 00:23, 1F
→
01/04 00:32, , 2F
01/04 00:32, 2F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):
Perl 近期熱門文章
PTT數位生活區 即時熱門文章