【perl】範囲演算子についての日本語マニュアルの誤訳


スカラーコンテキストでの範囲演算子(所謂フリップフロップ演算子)の使い方がいまいちわからなかったのでググってみたのだが、perldoc.jpの日本語マニュアルがいきなり間違ってたので悪戦苦闘。

http://perldoc.jp/docs/perl/5.10.1/perlop.pod

はじめは、左被演算子が偽である間、演算全体も偽となっています。範囲演算子は、いったん左被演算子が真になると、右被演算子が真である間、真を返すようになります。右被演算子が偽になると、演算子も偽を返すようになります。

ラクダ本を読み返してみたら、太字にした部分が正反対じゃないか!

http://www.oreilly.co.jp/books/4873110963/
Google ブックスで該当頁を開く

120頁 3.15 範囲演算子
左オペランドが偽である限り、状態は「偽」のままである。ひとたび左オペランドが真になれば、右オペランドが真になるまで演算子の状態は「真」のままになる。右オペランドが真になると、その次から状態は再び偽に戻る。

他のバージョンも見てみると、一番古いv5.6.1の時点ですでに誤訳されているようだ。最初から横着せずに原典(或いはperlop.podそのもの)を読めば良かったよ……。

コメントを残す