【激突】関数型言語 VS オブジェクト指向言語2at TECH【激突】関数型言語 VS オブジェクト指向言語2 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト315:デフォルトの名無しさん 12/04/14 01:24:45.45 >>314 志村、ここ、ここ。 my ($mod, $zz, $num, $str) = @_; ↑ $str ? ($num, $str) : $num sub xxx {com(3, 'Fizz', @_)} ↑ print "$_: " . gizz(buzz(fizz($_))) . "\n" と print "$_: " , gizz(buzz(fizz($_))) , "\n" の動作の違い なんか、中途半端に知っている人が出てきたな… 寝るか…。ノシ 316:デフォルトの名無しさん 12/04/14 01:45:08.21 核の部分はこれだけか 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', @_)} 317:デフォルトの名無しさん 12/04/14 02:13:05.47 Perlは良く知らないのだが、 print が ($num, $str) の $num を都合よく読み捨ててくれるのは何故? print fizz(3) の出力は、3Fizz になりそうに思うんだが。よーわからん。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch