こっそり、勉強しているGroovyなんですが
いきなりハマりました。。。
正規表現のオペレータは
==~
間にスペースを入れてしまうと実行できない。。。
スクリプト言語なんですぐに実行できるですが、
何故か一致しない。。。
// これは動く println "potatoe" ==~ /potatoe/ // 最初にこう書いてハマった。。。 println "potatoe" == ~ /potatoe/正直、最初はなんで結果がfalseでかえってくるの?と思ってたんですが、
よくよく読んでみると==~でひとつのオペレータなんだそうだ。
hoge == ~ /hoge/
しかし、動いてしまうってのもちょっと怖いなぁ~
hoge == ~だけで評価されてんじゃないのかな?
そうなると残された
/hoge/
はどうなるんだ??行方不明??
しかし、その行方不明になってるぽいものも省略したり、改行したりしてもコンパイルエラーになるようだった。。。
しっかり評価してくれないのにコンパイルを通ってしまうのなんてありなのかな??
0 件のコメント:
コメントを投稿