問題タブ [groovy-2]
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.
groovy - Groovy2.0拡張機能を使用してコンストラクターを追加する方法はありますか
Groovyの古い(1.xx)バージョンでは、metaClass.constructorを使用してコンストラクターを追加できます。
新しいGroovy2.0拡張モジュールを使用してコンストラクターを登録する方法はありますか?
これはうまくいくようです:
Groovy 2の通常の拡張クラスを定義し、静的初期化子にコンストラクターを追加するだけです
grails - クラスをインスタンス化しましたが、null を参照しているようです
オブジェクトをインスタンス化し、その上に単一の属性を設定しようとしています。これは、次のようにリクエストパラメーターから取得されます。
これはコンソールでの私の出力です:
リクエストからの質問テキスト :test これは私たちの questionroosearch.SurveyQuestion : null
そして、これはSurveyQuestion
クラスです:
上記は正常にコンパイルされているようですが、アクションの最後にリダイレクトを実行すると、さらにクラスキャストの例外が発生しSurveyQuestion
ます。この失敗行動。
SurveyQuestion オブジェクトを正しくインスタンス化していますか? コンソールに出力すると null と表示されるのはなぜですか? それは正常な動作ですか?少なくとも、Java のようにオブジェクト参照を出力すると思いますか?
ありがとう
performance - Groovy@CompileStaticとGrails
@CompileStaticアノテーションを使用してコンパイルする際のGroovy2のパフォーマンスの向上に関するDZoneの記事を見ると、どの程度利用できるのでしょうか。コントローラー、ドメインオブジェクト、サービスに注釈を付けると思いますか?アプリがコンパイルされるときに、Grailsはデフォルトでそれを利用しますか?
groovy - リストを繰り返し処理し、一致したアイテムを削除して新しいリストを作成する方法
私はグルーヴィーなリストに不慣れで、以下に示すようなリストを持っています:
にfileList
最新のファイルが必要です
- 同じタイプのアイテムがあってはなりません
- 2 つ以上のファイルが同じタイプである場合、リストには最高のリビジョンを持つ単一のファイルが含まれている必要があります。
Groovyでこれを行うにはどうすればよいですか?
types - Groovy 混合型付け
Groovy 2.0 の時点で、TypeChecked
クラスまたはメソッドに注釈を追加して、オプションの静的チェックをトリガーできる可能性があることがわかりました。
そのようなことがどのように機能するかについて、私は混乱していることを認めなければなりません。この記事では、次のような簡単な例を示します。
この場合、一部のチェックが失敗することは明らかです。しかし、一般的なケースではA
、型チェックされた method 内で、型チェックされていないmethod の戻り値などを使用しますB
。B
この場合、 method の戻り値に関する十分な情報がないため、コンパイラがメソッドの型に一貫性があるかどうかを判断する方法がわかりませんA
。
一般的に型の安全性を失うことなく、コードのサブセットで型チェックを有効にするにはどうすればよいでしょうか?
編集
私は例を作ろうとします。古いクラスがある場合はどうなりますか
次のように、型チェックされたコードから使用してみてください
コンパイラは何をすべきかわからないだけで、コンパイルに失敗すると思います(チェックするためにGroovy2をここにインストールしていません)。しかし、そうなると、Groovy2 より前に書かれたコードを使用することが問題になります。だから私はもっと洗練された何かが行われていると想像していますが、私にはわかりません。
grails - 同じ名前のプライベート メソッドとパブリック/保護されたメソッドを混在させると、マルチメソッドが無効になり、予期せぬ動作を避けるために禁止されます
Groovy 2.0 を使用している Grails アプリの 1 つを 2.2.0 にアップグレードしたところ、次のコンパイル エラーが発生しました。
同じ名前のプライベート メソッドとパブリック/保護されたメソッドを混在させると、マルチメソッドが無効になり、予期しない動作を避けるために禁止されます。プライベート メソッドの名前を変更すると、問題が解決します。
次のコードに基づいています。
簡単な修正ですが、その理由をよりよく理解したいと思います。誰かが私にこれを説明できますか?
groovy - Java 7も使用している場合、Groovyの@CompileStaticを使用する必要があります
「Groovy2.0の新機能」を読みましたが、@CompileStaticをいつ使用するかについて少し混乱しています。この記事では@CompileStatic
、Java7の動的な呼び出し部分を利用できなかった開発者向けにアノテーションが追加されたと述べています。
したがって、パフォーマンスの向上を求める開発者は、JDK 7で実行できない場合、Groovy 2.0で大きな変更は見られません。幸い、Groovy開発チームは、タイプチェックを許可することで、これらの開発者が他の利点の中でも興味深いパフォーマンスの向上を得ることができると考えました。静的にコンパイルされるコード。
私の質問は、JDK 7を使用していて、指示に従って--indy
フラグを追加する場合@CompileStatic
、パフォーマンスの向上を確認するために追加する必要がありますか? このブログは私がそうすることを示唆していますが、彼がEclipse内でそれを行ったことを考えると、彼が正しくコンパイルしたかどうかはわかりません。
更新:フィボナッチコードのさまざまな順列を実行したときの統計は次のとおりです。
注:機能が独立していることを理解した今、この質問は少し混乱しているようです。質問の基本は、2つの機能が関連していると思わせたメモからの混乱にあるため、質問の文言を変更せず、違いを説明する受け入れられた回答を許可するのは理にかなっていると思います。
logging - groovyConsole で HTTPBuilder ログを表示する方法
問題
からのログを取得groovyx.net.http.HttpResponseException: Not Found
していて、見たいですHTTPBuilder
。Groovy 2.1.9を使用していgroovyConsole
ます。
私が試したこと
そこで、 への追加について書かれているこのブログ投稿を確認しました。私はそれをしました、ここに私のファイルがあります:log4j.xml
groovy.home/conf/
コンソールで実行しているスクリプトは次のとおりです。
編集: HttpResponseException が解決さ/
れました。リクエストに不要なものがありましたが、ビルダー ログはまだ表示されません。