あるメソッドの変数に値を保存し、その変数の値を別のメソッドまたはクロージャで使用する必要があります。この値を共有するにはどうすればよいですか?
ベストアンサー1
Groovy スクリプトでは、スコープが予想と異なる場合があります。これは、Groovy スクリプト自体がコードを実行するメソッドを持つクラスであるためですが、これはすべて実行時に実行されます。型定義を省略するか、Groovy 1.8 では注釈を追加することで、スクリプトにスコープされる変数を定義できます@Field
。
import groovy.transform.Field
var1 = 'var1'
@Field String var2 = 'var2'
def var3 = 'var3'
void printVars() {
println var1
println var2
println var3 // This won't work, because not in script scope.
}