use v5.36; use utf8;
my %h = ( 3=>'Fizz', 5=>'Buzz', 7=>'Boom/Woof/Pop', 8=>'Zing', 11=>'Whack', 13=>'Chop' );
sub 割り切れる($n, $d){ 0 == $n % $d }
sub 桁に含む個数($n, $d){ scalar (() = $n =~ /$_/g) } # $n =~ tr/$d//r
sub 割り切れれば変換($n, @s){ join '', map{ $h{$_} if 割り切れる($n, $_) } @s }
sub 桁に含むなら変換($n, @s){ join '', map{ $h{$_} if 0 < 桁に含む個数($n, $_) } @s }
sub Classic{ map{ 割り切れれば変換($_, 3, 5) or $_ } @_ };
sub Digits{ map{ 桁に含むなら変換($_, 3, 5) or $_ } @_ };
sub Boom{ $h{7} = 'Boom'; map{ my $n = $_;
join('', map {$h{$_} if 割り切れる($n, $_) or 0 < 桁に含む個数($n, $_)} 3,5,7) or $n} @_ };
sub Woof{ $h{7} = 'Woof'; map{ my $n = $_;
join('', map {割り切れる($n, $_) and $h{$_} . $h{$_} x 桁に含む個数($n, $_)} 3,5,7) or $n} @_ };
sub Pop_Whack{ $h{7} = 'Pop'; map{ 割り切れれば変換($_, 3,5,7,11) or $_ } @_ };
sub Pop_Whack_Zing_Chop{ $h{7} = 'Pop'; map{ 割り切れれば変換($_, 3,5,7,11,13) or $_ } @_ };
# test main
do { my ($func, @args) = @$_;
say "@{[$func->(@args)]}" }
for [\&Classic, 1...15], [\&Digits , 1...15, 35], [\&Boom , 1...15, 7539], [\&Woof , 1...15, 35, 303],
[\&Pop_Whack, 1...15, 1155], [\&Pop_Whack_Zing_Chop, 1...15, 120120];
※closureや関数の部分適用などOOPSやFunctional的な仕組みを使ってみようかと思ったけど、使うまでもなかった
オブジェクト指向はオワコン? part3
■ このスレッドは過去ログ倉庫に格納されています
2026/08/30(日) 16:03:46.74ID:nFoXKPIw
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- OpenAI アルトマンCEO「個人のPCに大量のRAMを搭載するのは問題」と発言。ローカルAIより「クラウドで24時間活用すべき」と語る [少考さん★]
- 【速報!国民生活に関する世論調査】生活が「低下した」と感じる人は3割超、政府に求める政策1位は72.5%の物価対策 [首都圏の虎★]
- 5年ぶりの土日ハロウィーン、渋谷駅周辺は仮装した人でごった返す…「DJポリス」配置 [蚤の市★]
- 「第2青函トンネル」構想浮上 首相、国交相に具体化指示国土交通省 [蚤の市★]
- エボラ熱、死者5000人超に コンゴ [首都圏の虎★]
- 【埼玉】妻を殺害のネパール国籍男性を不起訴に 心神喪失の状態だったという [シャチ★]
- 【F1】謎の日本人がデビュー決定 [696684471]
- 今の嫌儲でわざわざニュースソースまで持ってきてニューススレ立て続けてるBEに聞きたいんだがなんでそんなことしてんの? [509448172]
- 🎃🧙🐈‍⬛👻(・o・🍬)🏰🧛🦇
- 【第12回ハロウィン企画】土曜夜のクイズスレ【トリックォァトリート!】
- 女子高生の性交経験率14・8% 👈冷静に考えてその辺にいるJKの7人に1人がマンコにチンコ入れたことあるって淫乱すぎるだろ [509448172]
- 【実況】輪堂千速のぶるんぶるんホロじゃん🔧 ★2