Java和脚本语言

Tim*_*eus 4 java scripting lua

我正在制作某种沙盒引擎,最终用户能够创建脚本以使他们的世界充满活力等等,目前我只关注LuaJava,因为我已经放弃了一些Lua的经验,并发现它是一种非常易读/易读的语言.但我也明白,根据个人偏好选择可能是一个坏主意,毕竟Lua意图嵌入到C中,因此性能不会是我想象的最好.

但在看了一些替代方案(Groovy,Clojure)后,我发现语法难以理解/太抽象,Lua是我的第一次编程经验,甚至起初很难"得到",我担心这些语言只会害怕我的废话,我再也不会看脚本了.

是否有可以嵌入Java的脚本语言在简单性上与Lua竞争?

使用JavaScript 编辑我的问题,JPython是所有大括号等,因为起始用户符号往往看起来 "很难".同样对于python,还有用户需要理解的Object的概念,在这种情况下并没有那么有用.

func = function(arg)
   print(arg)
end
Run Code Online (Sandbox Code Playgroud)

这么简单......

T.J*_*der 6

我认为JavaScript非常简单,并且可以通过Rhino轻松地嵌入Java中.脚本既可以预编译,也可以通过javax.script类动态编译,这些用于连接Java平台的脚本引擎(Rhino就是其中之一).

但是,如果你喜欢Lua,那就是一个名为 - *cough*  - Kahlua的Lua for Java项目.他们将"最常见操作的快速运行时"列为其目标之一.


编辑:重新编辑,我不会立即看到为什么:

func = function(arg)
   print(arg)
end
Run Code Online (Sandbox Code Playgroud)

比这更容易理解:

func = function(arg) {
   print(arg);
};
Run Code Online (Sandbox Code Playgroud)

...这是从Lua到JavaScript的字面翻译,预先假设print您的平台上存在一个名为exists 的函数.我通常会这样写:

function func(arg) {
   print(arg);
}
Run Code Online (Sandbox Code Playgroud)

......但另一种方式对于大多数目的来说都没问题.

但是你应该使用你喜欢的东西.