0

次のようなグルーヴィーなスクリプトを作成しました。

print "Please enter your name:"
def name=System.in.readLine()
println "My name is : ${name}"

しかし、実行すると例外が発生しました:

例外がスローされました groovy.lang.MissingMethodException: メソッドの署名がありません: java.io.BufferedInputStream.readLine() は引数の型に適用できます: () 値: [] 可能な解決策: readLines(), readLines(java.lang.String), eachLine(groovy.lang.Closure), eachLine(java.lang.String, groovy.lang.Closure), eachLine(int, groovy.lang.Closure), eachLine(java.lang.String, int, groovy.lang.Closure) )

そして、 System.in.readLines() が機能することがわかりましたが、そのメソッドは複数の行を読み取りました。
また、基本的な入力機能はコマンドラインでのみ機能します。GroovyConsole でスクリプトを実行すると、何も入力できません。
どんなベテランも私を助けることができますか?どうもありがとう!

4

1 に答える 1

1

使用するSystem.console().readLine()

def name=System.console().readLine("Please enter your name: ")
println "My name is : ${name}"
于 2016-10-30T03:00:52.523 に答える