【激突】関数型言語 VS オブジェクト指向言語2at TECH【激突】関数型言語 VS オブジェクト指向言語2 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト314:デフォルトの名無しさん 12/04/14 01:16:27.94 perlのscalar context/list contextの説明。 関数の引数にフラグを一個追加したもの つまり、 foo(value, false) ・・・ スカラ呼び出し foo(value, true) ・・・ リスト呼び出し foo(value, flag)関数の説明 flagがfalseの場合、スカラタイプの値を返します。 flagがturの場合、リストタイプの値を返します。 まあ、こんなもん。 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', @_)} 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch