| SUB :: Lambda. SUB :: Lambda´Â PerlÀÇ ¶÷´Ù¸¦À§ÇÑ ±¸¹® ¼³ÅÁÀÔ´Ï´Ù. |
Áö±Ý ´Ù¿î·Îµå |
SUB :: Lambda. ¼øÀ§ ¹× ¿ä¾à
- ƯÇã:
- Perl Artistic License
- °Ô½ÃÀÚ À̸§:
- Anton Tayanovskyy
- °Ô½ÃÀÚ À¥»çÀÌÆ®:
- http://search.cpan.org/~toyvo/Sub-Lambda-0.02/lib/Sub/Lambda.pm
SUB :: Lambda. ű×
SUB :: Lambda. ¼³¸í
SUB :: Lambda´Â PerlÀÇ ¶÷´Ù¸¦À§ÇÑ ±¸¹® ¼³ÅÁÀÔ´Ï´Ù. SUB :: Lambda´Â Perl.synopsis »ç¿ë ÇÏÀ§ :: ¶÷´Ù; * Plus = fn a => fn b => '$ a + $ b'; My $ minus = fn a => fn b => q {$ a - $ b}; * flip = fn f => fn a => fn b => AP qw (f b a); * sum = fn h => -t => q {@t? $ h + sum (@t) : ($ h || 0)}; Àμâ Ç÷¯½º (1) -> (2). "N"; # 3 = 1 + 2 Àμâ $ »©±â -> (10) -> (5). "N"; # 5 = 10 - 5 Àμâ Çø³ ($ »©±â) -> (10) -> (5). "N"; # -5 = 5 - 10 Àμâ ÇÕ (1,2,3,4). "N"; # 10 = 1 + 2 + 3 + 4 My $ Fac = fn F => fn n => q {($ n ($ n-1)}; MY $ y = fn m => AP ((fn f => AP m => fn a => ap f => f => a => ()) => (fn f => ap m => fn a => ap f => f => a => ())) ; $ y -> ($ fac) -> (5). "n"; # 120 = 5! ¼³¸í ^ÀÌ ¸ðµâÀº ¶÷´Ù Ãß»óÈ ¹× ÀÀ¿ë ÇÁ·Î±×·¥À»À§ÇÑ ±¸¹® ¼³ÅÁÀ» Á¦°øÇÕ´Ï´Ù. PerlÀº ¼ºê ·çƾ ÂüÁ¶¸¦ ÅëÇØ ¶÷´Ù¸¦ Áö¿øÇÕ´Ï´Ù. ´ç½ÅÀº ¹èÅÍ µÈ Ãß°¡ : ÇÏÀ§ {my ($ x) = @_; sub {my ($ y) = @ = $ x + $ y}} ±×·¯³ª ´õ ¸¹Àº ¶÷´Ù Ç¥ÇöÀ» ´õ Æ÷ÇÔÇϵµ·Ï Æí¸®Çϰųª ÀÐÀ» ¼ö´Â ¾ø½À´Ï´Ù. ´ëÁ¶ µ¿ÀÏÇÑ ±â´ÉÀ»À§ÇÑ ¼³ÅÁ ±¸¹®À¸·Î : fn x => fn y => q {$ x + $ y} ´Ù¼Ò ºÒ¸íÈ® ÇÑ Àǹ̸¦ ´õ ºñ¿ëÀ¸·Î ´õ¿í Æí¸®ÇÏ°ÔÇϱ⸦ ¿øÇÑ´Ù¸é, ½ÇÇèÀûÀÎ ÇÏÀ§ :: ¶÷´Ù :: ¾µ ¼öÀÖ´Â ÇÊÅÍ ¸ðµâ : (x -> y -> {$ x + $ y}) ¿ä±¸ »çÇ× : ¡¤ Perl ¿ä±¸ »çÇ× : ¡¤ Perl.
SUB :: Lambda. °ü·Ã ¼ÒÇÁÆ®¿þ¾î