perlの純粋な疑問

Comments

僕がバカなんです(;_;)
yamlファイルに記述したignore_exten[t]ionsのスペルミスに気がつくまで半日

まー仕方ないっすね。何が正しくて、間違っているかがわかってない段階では。

えーーーでも。なんで、

static:
debug:1

# ignore_extensions:
# - css
# - htm
# - png

は、debug:1の記述でエラーになって

static:
debug:1
ignore_extensions:
- css
- htm
- png

はエラーにならずに、スルーしてしまうのー?(そしてignore_extensionsも動作せず。)

そりゃハマるよー。

YAML はハッシュの形で展開されますが、ハッシュのキーをスペルミスしてはまる、ってのはよくありますし、Perl の嫌なところではありますねー。

対策もないこともないんですが、プログラムする側が意識して対策しないといけないので、面倒なことには変わりなかったり。

この辺、他の動的言語ってどうなんでしょうね?
もはやこの話のエラー原因が何であったかを忘れてしまったのですが、パースエラーになるべき文法に対してエラーがでない。しかも、該当のパラメータ (debug)と違う値(igonore_extensions)が存在することによってエラーが出ないという現象に対して嘆いたものと記憶してます。

多分、本来はパースエラーが出るべきなのに、スルーされたことを困ってたんでしょうね。さすがにcatalyst起動よりもあとで、プラグインが拾ってくであろう定数に対してまでvalidationをしてくださいとは思わないので。

XMLとYAMLの違いは、XMLはIEが開ければ整形式であることは確保されている気楽さかなぁ。しかも詳細なエラーレポートを教えてくれるところかも。まぁXMLというのは非常にリッチなデータですけど。

あれ?パスーエラーは表示してくれるはずなんですけどね。文法エラーがあれば、catalyst_server.pl はエラーを吐いて停止するはずです。なので、パースエラーとは別なところに原因があるのかな、という気がします。

> XMLはIEが開ければ整形式であることは確保されている気楽さかなぁ。

これは大きいですね。自分も Firefox で開いて確認したりします。
YAMLはパーサーがエラーを吐いても、慣れないとどこがエラーなのかもとても分かりにくいのが難点ですね。

Post a comment

Already a Vox member? Sign in

f-shin (えふしん)

About Me

f-shin (えふしん)
Japan
カラメルプロデューサー

Neighborhood

Explore friends, family, friends & family, or entire neighborhood.

Archives