【激突】関数型言語 VS オブジェクト指向言語2at TECH【激突】関数型言語 VS オブジェクト指向言語2 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト322:デフォルトの名無しさん 12/04/14 03:07:01.05 >>321 しくったorz、ifの前の;が余計だった。 use 5.12.0; sub com { my ($mod, $zz, $num, $str) = @_; $str .= $zz if 0 == $num % $mod; $str ? ($num, $str) : $num } sub fizz {com(3, 'Fizz', @_)} sub buzz {com(5, 'Buzz', @_)} sub gizz {com(7, 'Gizz', @_)} map {say "$_: " . gizz(buzz(fizz($_)))} qw(1 3 5 7 15 21 35 105); 323:デフォルトの名無しさん 12/04/14 03:07:30.38 そっちじゃなくて、print時の文字列連結による$numの読み飛ばしの件についてでしょ。 print "$_: " , gizz(buzz(fizz($_))) , "\n" だと 3: 3Fizz とかなる。 324:デフォルトの名無しさん 12/04/14 03:14:00.28 >>323 「gizz,buzz,fizzの三関数をscalar contexで評価すると判定文字列が得られ list contextで評価すると数値と判定文字列のリストが得られる関数である ただし数値が3,5,7の倍数でない場合は返戻リストの第二要素の判定文字列は undef(文字列として評価すると空文字列)」 という仕様の関数として書いている。 のだよ。code嫁よ。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch