groovysh中缺少PropertyException

groovysh中缺少PropertyException,groovy,groovyshell,Groovy,Groovyshell,我运行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) ... groo

我运行
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”
,我可以访问它。但我想知道如何在示例中访问它)


更新

我想使用
String s=“Hello”
来定义变量,因为我想声明它的类型。例如,如果我写:

Date date = []
date = []
日期将是
java.util.date
。但如果我写:

Date date = []
date = []
它将是一个
ArrayList
表达式
s=“Hello”
设置一个shell变量,表达式
String s=“Hello”
设置一个不会保存到shell环境中的局部变量。有关更多信息,请参阅。我不太确定您想要实现什么,但您可能更希望使用Groovy脚本进行评估。

您可以编写

date = [] as Date
确保date确实具有类型date。我有一个类似的问题,并使用

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

只需将其设置为解释器模式

groovy:000>:设置解释器模式

你可以直接使用

Date=[]


ref:

谢谢,groovy console可以让我来做。您的意思是,无法从
groovysh
中的
String s=…
获取
s
,对吗?您可以将其包装在一个中,并在需要时返回
s
。那将是另一种选择。这是我作为Python用户所期望的。现在,我总是执行
groovysh--define=explorerMode