[問題] return 一個function

看板Perl作者 (阿草)時間13年前 (2012/01/03 21:21), 編輯推噓0(002)
留言2則, 2人參與, 最新討論串1/2 (看更多)
手上有個作業是希望用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
PL 作業?
01/04 00:23, 1F

01/04 00:32, , 2F
嗯嗯嗯
01/04 00:32, 2F
文章代碼(AID): #1F0m3blM (Perl)
文章代碼(AID): #1F0m3blM (Perl)