开发者

MissingPropertyException in groovysh

I run groovysh, and type the following code:

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>

How to access the s here?

(If I change String s = "Hello" to s = "Hel开发者_JAVA百科lo", I can access it. But I want to know how to access it in the example)


UPDATE

I want to use String s = "Hello" to define a variable because I want to declare the type of it. For example, if I write:

Date date = []

The date will be a java.util.Date. But if I write:

date = []

It will be a ArrayList.


The expression s = "Hello" sets a shell variable, the expression String s = "Hello" sets a local variable which does not get saved to the shell's environment. Please see the Groovy Shell documentation for more information. I am not quite sure what you are trying to achieve but you might rather want to go with Groovy Console to evaluate Groovy scripts.


simply set it to interpreterMode

groovy:000> :set interpreterMode

and you can just straightly use

Date date = []

ref: http://www.groovy-lang.org/groovysh.html#GroovyShell-InterpreterMode


You can write

date = [] as Date

to make sure date really has type Date. I had a similar problem and used

bin = [1, 26, 42 ,7] as byte[]
bin.encodeBase64()
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜