2012-01-16 5 views
0

作品:のGrails:printlnのは、私だけは、ブランドの新しいGrailsのプロジェクトを作成し、ブートストラップでこれを入れて、時にはか何か

ExpandoMetaClass.enableGlobally() 

Integer.metaClass.precision = {->return 1} 
println 3.precision() 
println "rofl" 
println 15.precision() 

そして、それは私が何を期待し、実行するアプリをプリント:

1 
rofl 
1 

しかし、もし私がprintln "rofl"を取り出すと、その2番目のものは印刷されません。それはちょうど1つを印刷します... WTF?

繰り返しますが、これは私には、このコード意味をなさないbecasue:

ExpandoMetaClass.enableGlobally() 

Integer.metaClass.precision = {->return 1} 
println 3.precision() 
//println "rofl" 
println 15.precision() 

プリント:

1 

答えて

0

マイキーを、私は理由を考えることはできません。あなたは別の環境で試すことができますか?私はGroovyバージョン1.8.0 JVM:1.6.0_20、Win7、Grails 2 BootStrap、Grails Controllerアクションの下ですぐにこれを試しました。残念なことに、「私の作品」と言って申し訳ありません。だから私が考えることができるのは、何とかあなたが使っているバージョンやセットアップ方法に関係しているということです。どのようにこれを実行していますか?

+0

STS 2.8.1 Ubuntu 11.10のGrails 1.3.7。グレイス2を試してみてください。 – Mikey

+0

あなたは何のためにコントローラを使用していますか?私はブートストラップにすべてのコードを持っています。また、私はグレヴァイとグレヴェイをアップグレードしました。まだ動かない。 – Mikey

+0

ちょうどコントローラで試してみましたが、確かにBootstrapを試しました。私はSTSについてはわかりません、あなたはSTSか、コマンドラインかインタラクティブから実行していますか?私が思うことは、別の場所から試してみることですが、それはあなたが最後の数時間試しているものだと思います。 – Steve

0

これはubuntuのデフォルト設定であり、JVMとは関係ありません。同じ場合、コンソールは行を繰り返さない。私はそれをオフにする方法を覚えているときこの答えを更新します。

関連する問題