sironekotoroの日記

Perl で楽をしたい

はじめてのPerl 第6版 第15章 スマートマッチとgiven-when

スマートマッチすごい

  • 便利だけど、コレ推奨されないだろうなぁ・・・と思った。
  • 安定性強化に向けて機能を整理した「Perl 5.18」リリース | OSDN Magazine (http://osdn.jp/magazine/13/05/20/141500)

さらに、Perl 5.10で加わったスマートマッチ演算子は実験的(exprimental)なカテゴリに変更された。これは2つのオペランドをどのように比較するのかを判断する機能だが、不満が多く出ておりゆくゆくは変更されるか廃止となるだろうとしている。

given-when文

whenブロックの最後に continueを置くと、perl は、それ以降の when条件も順にテストしていきます。

  • なるほど、これは確かにif文ではできない
  • でも、最後のdefaultのブロックが常に真で評価されるため、defaultブロックの一つ前のwhenブロックにはcontinueを付けない、ってのはなんか美しくないなー

  • そしてやっぱり非推奨 Perl 5.18 がリリースされました - サンプルコードによるPerl入門 ~ 安定と信頼のPerlを学ぼう ~ (http://d.hatena.ne.jp/perlcodesample/20130520/1369010841)

次に、Perl 5.10移行で導入された、given - when構文とスマートマッチ(~~)が実験的な機能に差し戻されました。

  • この章の意義とは

練習問題

  • 約数に2があるかどうかで偶数奇数を判断するってのに気付かなかったわ・・・
  • 他にも方法はあるんだろうけど、スマートな方法だよな