Недостающее свойство Исключение в groovysh
Я запустил groovysh
и набрал следующий код:
groovy:000> String s = "Hello"
===> Hello
groovy:000> s
ERROR groovy.lang.MissingPropertyException:
No such property: s for class: groovysh_evaluate
at groovysh_evaluate.run (groovysh_evaluate:2)
...
groovy:000>
Как получить доступ к s
здесь?
(Если я изменяю String s = "Hello"
на s = "Hello"
, я могу получить к нему доступ, но я хочу знать, как получить к нему доступ в примере)
UPDATE
Я хочу использовать String s = "Hello"
для определения переменной, потому что я хочу объявить ее тип. Например, если я пишу:
Date date = []
Дата будет java.util.Date
. Но если я пишу:
date = []
Это будет ArrayList
.
Ответы
Ответ 1
Выражение s = "Hello"
задает переменную оболочки, выражение String s = "Hello"
устанавливает локальную переменную, которая не сохраняется в среде оболочки. Дополнительную информацию см. В Groovy Документация по оболочке. Я не совсем уверен, чего вы пытаетесь достичь, но вы скорее захотите пойти с Groovy Консоль для оценки сценариев Groovy.
Ответ 2
просто установите его для interpreterMode
groovy:000> :set interpreterMode
и вы можете просто использовать
Date date = []
ref: http://www.groovy-lang.org/groovysh.html#GroovyShell-InterpreterMode
Ответ 3
Вы можете написать
date = [] as Date
чтобы убедиться, что дата действительно имеет тип Date. У меня была аналогичная проблема и я использовал
bin = [1, 26, 42 ,7] as byte[]
bin.encodeBase64()