プログラミング私は私のinitにこの行を挿入()私のブートストラップクラスのGrailsの - メソッドはグローバル使用可能にすると、メタクラス
Integer.metaClass.minutes = { 60000L * delegate }
私は、ジョブ・クラス(クォーツプラグイン)から、それを使用することができませんでした。私はこのコード行をどこか別の場所に置いてそれをグローバルな変更にしますか?
また、Grailsのすべてのクラスで関数を使用できるようにするにはどうすればいいかと思いました。 グローバル関数のようです。 Objectメタクラスを拡張することはできますか?それとも良い方法がありますか?
'def time = use(TimeCategory){10.minutes.toMilliseconds()}' ...これはあなたの質問に答えません;-) –
非常にクールです。 useとTimeCategoryのことを説明できますか?それについてのベストレファレンス?コメント上の恐ろしい+1 – BuddyJoe
@tyndall ['TimeCategory'](http://groovy.codehaus.org/api/org/codehaus/groovy/runtime/TimeCategory.html)はGroovy [' Category'](http: //groovy.codehaus.org/Groovy+Categories)。 'use'関数は一時的にクラスに機能を追加する方法と考えることができるので、' use(){...} 'ブロックの中ではカテゴリが有効であり、整数は時間ベースのプロパティで修飾されます。メソッドを 'metaClass'に追加するのと同様ですが、よりローカライズされています。 –