問題タブ [expandometaclass]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
8 に答える
69120 参照

java - groovyのリストからマップを作成するためのショートカット?

私はこれのためにいくつかのソートハンドが欲しいです:

GDKのものがどのようであるかを考えると、私は次のようなことができると期待しています。

しかし、私はドキュメントに何も見ていません...私は何かが欠けていますか?それとも私はあまりにも怠惰ですか?

0 投票する
1 に答える
3282 参照

groovy - Groovy expando メタクラス

整数を拡張するいくつかのメソッドを持つクラスを開発しました。主にこれを行うことができます。

ここで、Integer.metaClass を次のように拡張する必要があります。

Money クラス宣言の前に、ファイルの一番下にそれを入れようとしましたが、コンパイラは Money という名前のクラスが既に存在すると言いました。このコードを実行するには void main を使用します)。

また、次のようにクラス内で静的ブロックを使用してみました。

これはどちらも機能しません。

3 番目の解決策は、ファイル名 (MoneyClass.groovy など) を変更し、クラス名 (class Money) を保持することですが、これは少し奇妙に思えます。

他にできることはありますか?ありがとう。

0 投票する
1 に答える
2343 参照

grails - run-app と run-war の Grails の動作の違い

私は Groovy と Grails に比較的慣れていないので、空き時間にそれらを試しています。を使用して正常に実行できる小さなテスト Grails アプリケーションを持ってgrails run-appgrails run-warますが、エラーが発生します。

メソッドでは、grails-app/conf/BootStrip.initいくつかのプロパティ ゲッターをDefaultGrailsControllerClassandに追加していDefaultGrailsApplicationます。

私のgrails-app/views/layouts/main.gsp中で、私はこれを使用しています:

これは で正常に動作しますrun-appが、 で実行するとrun-war、次のようになります。

Grails 1.1.1 および 1.2-M1 でこれを試しましたが、同じ結果が得られました。BootStrap.initメソッドが ( 経由で) 呼び出されていることを確認しましたprintlnが、 に加えられた変更metaClassrun-war.

私が見逃しているものはありますか?

0 投票する
1 に答える
617 参照

groovy - Groovy のクラスに新しいクロージャーを追加する方法

Snipplrから

ここにスクリプトコードがあります。コメントには質問とスローされた例外があります

0 投票する
1 に答える
2198 参照

unit-testing - Groovyでは、Expandoと'as'演算子およびクロージャを使用することが理にかなっているのはいつですか?

Groovyは、さまざまな選択肢を提供する素晴らしい言語です。

単体テストについて考えるとき、Expandoオブジェクトとクロージャー付きの「as」演算子を使用するのはいつ意味がありますか?

http://groovy.codehaus.org/Developer+Testing+using+Maps+and+Expandos+instead+of+Mocks vs http://groovy.codehaus.org/Developer+Testing+using+Closures+instead+of+モック

単純なケースでは、それらの使用法は非常に似ているようです。

ありがとう!

0 投票する
2 に答える
2318 参照

groovy - Groovyのネストされたクロージャを介してデリゲートを渡す

Groovyクロージャをマークアップとして受け入れるビルダーを作成しています。ただし、ネストされたクロージャを使用してメソッド呼び出しをキャッチするのに問題があります。

ネストされたクロージャのデリゲートプロパティを設定する方法はありますか?

0 投票する
1 に答える
695 参照

groovy - Groovyメタクラスを適切に初期化する場所はどこですか?

Groovyアプリケーションで、メタクラスを初期化する場合、それらの初期化を配置するのに最適な場所はどこですか?Grailsアプリでは、Bootstrap.groovyファイルを使用しました。任意のGroovyアプリに似たものはありますか?

編集:明確にするために、私はこれを行うための邪魔にならない方法を探しています。これにより、メインアプリケーションの実行時、および関連するコードの単体テストで呼び出されることが保証されます。

0 投票する
1 に答える
344 参照

groovy - ExpandoMetaClass - 静的メソッド + シングルトン + オーバーロードされた関数

ExpandoMetaClass を使用して静的メソッドを動的に追加できます。この ExpandoMetaClass を Singleton オブジェクトで使用し、その中にオーバーロードされた静的関数を使用するにはどうすればよいですか。サンプル プログラムを ExpandoMetaClass を使用して書き直す必要があるとしましょう。

0 投票する
1 に答える
102 参照

groovy - Groovyの印刷結果とnull値でもExpandoMetaclassを使用する

サンプル プロゲームは、expandometaclass 手法を使用して実行しようとすると、2 つの出力が得られます。1 つは目的の結果、2 番目の出力は「null」です。null はどこから取得されますか?

出力:

このプログラムが出力として null も出力する理由

0 投票する
1 に答える
10127 参照

groovy - gmaven プラグインを使用して org.codehaus.groovy.control.MultipleCompilationErrorsException を取得する

これは私のサンプル プログラムです。mvn を使用してコンパイルすると、コンパイル エラーが発生します。ExpandoMetaClass を使用して静的メソッドを追加しようとしています -

mvn compile を発行しながら、gmaven プラグインを使用してプロジェクトをコンパイルしています。

これは私の pom.xml エントリ gmaven ビルド プラグイン エントリです