Groovy でグローバル変数を作成してアクセスするにはどうすればいいですか? 質問する

Groovy でグローバル変数を作成してアクセスするにはどうすればいいですか? 質問する

あるメソッドの変数に値を保存し、その変数の値を別のメソッドまたはクロージャで使用する必要があります。この値を共有するにはどうすればよいですか?

ベストアンサー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.
}

おすすめ記事