2011年12月24日土曜日

開発環境

『初めてのPerl 第5版』(Randal L. Schwartz, Tom Phoenix, brian d foy 共著、近藤 嘉雪 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-427-9)の10章(さまざまな制御構造), 10.11(練習問題)、3を解いてみる。

3.

偽の値の新しい環境変数「$ENV{UNDFINED} = undef;$ENV{ZERO} = 0;$ENV{EMPTY} = "";」をセット。

やり方の1つ。(「やり方は何通りもある」(TIMTOWTDI(There Is More Than One Way To Do It.)))

コード(TextWrangler)

入出力結果(Terminal)

「undef」は偽になってちゃんと「(undefined value)」って表示された。のに、「0」と「""」が偽にならず(?)にdefined-or演算子に引っかからずのそのまま表示されてる。。なんでだろう?線で消した部分がdefined-or演算子の重要な部分てことを忘れてた。偽の値「0,""」でも「(undefined value)」とデフォルト値にならなずに定義された値で実行を終えるところがいいところ。同じことを論理OR演算子「||」でやろうとすると、「0,""」がデフォルト値に置き換えられないようにさらに三項演算子「?:」で

とする必要がでてくる。$ENV{$_}が2回も出てきてdefined-or演算子を使うやり方より長くなるし手間もかかる。

0 コメント:

コメントを投稿