「初めてのPerl」 第十五章
第十五章から。
第十五章 スマートマッチとgiven-when
内容
用語集
用語 | 説明 |
---|---|
スマートマッチ | オペランドの種類と順番によって最善な比較処理を行う |
ダムマッチ | いつもの比較演算子を使った比較処理。ダム=賢くないという意味。 |
Point
スマートマッチ
# スマートマッチ演算子を使うとプログラム側で良い感じに比較処理をしてくれる my $number = 1; $number ~~ 1; # ==と同等 my $string = "hoge"; $string ~~ "hoge"; # eqと同等 $string ~~ /hoge/; # =~と同等 # ハッシュや配列に対しても様々な処理を行う # オペランドの種類と順番によって処理が異なる
given文
# Cで言うswhich文のようなものを想像すると良い my $string = "hoge"; given ($string) { when ('hoge') { say "hoge" } default { say "default" } } # 上記のスマートマッチも使うことが出来る given ($string) { when ($_ ~~ 'hoge') { say "hoge" } default { say "default" } } # whenブロックには何も明示しなければbreak処理される # 次のwhen条件に進めるにはcontinueを置くと良い # 配列の要素を順番に処理していきたい場合には次のような書き方もできる my @string = qw/hoge fuga piyo/; foreach (@string) { when ('hoge') { say 'hoge' } when ('fuga') { say 'fuga' } when ('piyo') { say 'piyo' } default { say 'default' } }
次回は
次回は第十六章から。