問題タブ [gstring]

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 投票する
1 に答える
3044 参照

groovy - GString の評価を回避する方法

groovy を使用して従来のスクリプト システムを拡張する作業を行っています。ソース スクリプトは「Java に似ている」ため、ほとんどの場合、前処理が少しあるグルーヴィーなスクリプトとして解析されます。

私は、invokeMethod() と missingMethod() を使用してレガシー コードをパススルーし、クロージャやその他のグルーヴィーな機能を使用してスクリプトを拡張できるようにしています。ただし、元のスクリプトでは、「$foo」型の文字列を使用して変数を参照しています。レガシー メソッドが missingMethod() によって捕捉された場合、この文字列を GString として評価するのではなく、そのまま出力する必要があります。これは何らかの方法で可能ですか?

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

groovy - Groovyでその名前の変数値を取得する

次の変数を定義しています。

この置換を機能させる最も簡単な方法は何ですか?どうすればGStringを構築しs2て評価することができますか?(VALとs2はデータベースからロードされます。このスニペットは、私の問題を示すためだけのものです。)

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

groovy - groovygstringで評価される変数を渡す

gstring評価内で文字列として評価される変数を渡すことができるかどうか疑問に思っています。最も簡単な例は次のようなものになります

私はpersonインスタンスのlastNameの値を出力することを探しています。最後の手段として、リフレクションを使用できますが、Groovyには、私が気付いていない、もっと単純なものがあるはずだと思います。

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

sql - GStringからドットをエスケープ

groovy(1.8)がそれをsql.execute内の変数の一部として扱わないように、GStringでドットをエスケープする方法を学びたいと思います。私は次のコードを持っています:

そして、私はこのエラーを受け取りました:

そのことを明確に示しています。変数${myDbPrefix}の一部として解釈されました。

0 投票する
3 に答える
46247 参照

list - Groovy で文字列リストを作成する

Groovy の次のコードはGString、リストに s を追加します。

ProcessBuilderこのリストでを作成すると、 が得られますClassCastException。リスト要素を正しい型に強制するグルーヴィーな方法は何ですか?

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

grails - gstringsを使用してネストされたフィールドにアクセスするGrails

gstringを使用してネストされたフィールドにアクセスしようとしていますが、例外groovy.lang.MissingPropertyExceptionがスローされます。

私は2つのクラスがあります

私がやっているコードのどこかで、

人から都市を取得しようとしている行は、groovy.lang.MissingPropertyExceptionをスローしています

gstringを使用して直接プロパティをフェッチしようとすると機能しますが、上記のコードは機能しません。

何か助けはありますか?

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

groovy - groovy での引数を使用したメソッドの実行時呼び出し

簡単にするために、次のようなコードがあるとします。

メソッド「evaluate」に渡される式の値を実行する必要があります。

電話の場合

電話の場合

電話の場合

どうやってやるの?ありがとう。

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

groovy - Groovy で例外メッセージの GStrings を複数行にする方法

特定の文字数/行、たとえば 80 文字を超えてはならない Groovy エラー メッセージの標準 (またはベスト プラクティス) は何ですか?

以下を検討してください(これは正常に機能しています)

これにより、インデント文字のない1行のエラーメッセージが表示されます(私が望むもの)。しかし、これを達成するための他の方法 (「Groovy の方法」) はありますか? そうでない場合、スタンドアロンの Groovy アプリケーションの GString クラスにそのようなメソッドを追加するにはどうすればよいでしょうか (Bootstrap.groovy ファイルに関するヒントが見つかったが、Grails に関連しているように思われる場合)。

例:"""Consider a multi line string as shown above""".toSingleLine()

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

groovy - GroovyはGString内でchar[]からStringにどのように変換しますか?

char[]GroovyがaをaString内に変換する方法を理解しようとしていますGString

例:

結果:

パス

最初は、char [](http://groovy.codehaus.org/groovy-jdk/primitive-types/char []。html#toString())でtoString()メソッドを使用すると想定していました。しかし、次のコードを実行した結果は、別のことを示唆しているようです。

結果:

パス

****

パス

私はまたinvokeMethod()、それを無駄に理解しようとするためにオーバーライドしようとしました:

結果:

パス

クラス[C:toString、[]で呼び出されるメソッド

****

パス

Groovyがこの変換をどのように行うか知っている人はいますか?

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

groovy - GStringImpl で equals() と == を使用した場合の Groovy の異なる結果

Groovy docsによると、これは次のことも回避するため==、単なる「賢い」ものです。equals()NullPointerException

Java のメソッド==は実際には Groovy のis()メソッドであり、 Groovy のメソッド==は賢いequals()!

[...]

しかし、通常の比較を行うには、左または右がそうであるかどうかに関係なく、equals()Groovy の を優先する必要があります。==NullPointerExceptionnull

そのため、オブジェクトが null でない場合、==andequals()は同じ値を返す必要があります。ただし、次のスクリプトを実行すると予期しない結果が得られます。

私が得ている出力は次のとおりです。

これは関連する既知のバグGStringImplですか、それとも私が見逃しているものですか?