2014-01-14 51 views
4

在Java中的犀牛引擎的返回,当你的eval代码,如果你这样做犀牛:奇怪的包

var e = Packages.org.bukkit["event"] 

Ë将是无效的。

但是,有一两件事,我发现是,如果我这样做

var anothervar = Packages.org.bukkit.event 
var e = Packages.org.bukkit["event"] 

E(以及anothervar)将是org.bukkit.event包。

为什么Nashorn在使用点符号访问包后会这样做,它将开始使用括号表示法?

+0

请勿使用图像进行总结。把文字放在你的问题中。 – meagar

+0

@meagar我刚刚编辑它。我发现它真的......愚蠢的(因为缺乏一个更好的词)在这里人们只是因为它的措辞不当而使得问题变得不合时宜。他们可以简单地通过建议编辑或评论它(就像你做的那样)来帮助它,而不是简单地对其进行降级。 – Ivan

+0

呃,因为这是downvotes的主要目的之一。将鼠标悬停在任何问题的向下箭头上,就会发现“不清楚”是降低投票的主要标准之一。 downvote并不意味着“你吸”或“迷路”,它表示你的问题要么写得不好,要么没有用,要么没有足够的努力,或者两者兼而有之。你只收到一个倒下。无论如何,这个问题在编辑之后有了很大的改进。我刚刚投了第四次重新投票,还有一次,它将重新开放。 –

回答

1

从我所期待的,它是一个Java 8 bug,所以在此期间,一个hackish的解决方法可以是EVAL-ING与点符号

例如包

eval("Packages.org.bukkit."+"event.server"); //or whatever variable it may be 

编辑

这个bug已经修复,所以它应该现在的工作。