我和一些朋友正在用Java编写MORPG,我们希望使用脚本语言,例如.创建任务.
我们没有使用Java编写脚本的经验.我们使用过Python,但我们对它缺乏经验.我们其中一个人也使用过Javascript.
我们应该使用什么脚本语言?我们不应该使用什么脚本语言?
最新版本发布于2008-03-06.这是怎么回事?它还在积极发展吗?有没有替代品?
在Java世界(JVM上的脚本语言)和方法中,您首选的脚本语言是什么?您何时更喜欢脚本语言而不是Java(在什么情况下例如用于原型设计)?您是将它用于大型项目还是仅用于个人项目?
我最近问了一个关于从C++切换到C来为速度编写解释器的问题,我得到了一个人的评论,问我为什么要切换到C.
所以我发现我实际上不知道为什么 - 除了C++面向对象的系统有更高的抽象,因此更慢.
如果你想告诉我一些其他语言的解释器不在C中,请用popular scripting languages这个问题替换所有出现的问题Ruby, Python, Perl and PHP.
在编写解释型语言时,弱打字或强打字会更快吗?
我想知道这一点,因为通常有更快的动态类型解释语言(Lua,Javascript),事实上大多数解释语言使用弱类型.
但另一方面,强类型可以保证弱类型不会,因此,优化技术是否可能与另一个不可能的优化技术?
对于强类型,我的意思是类型之间没有隐式转换.例如,这在强类型语言中是非法的,但在弱类型语言中可能是合法的:"5" * 2 == 10.特别是Javascript因这些类型的转换而臭名昭着.
如果我理解正确:
JSR -223:用Java引入脚本语言引擎,就是这样!您可以自由使用您想要的任何脚本语言,例如:Groovy,Mozilla Rhino,PHP,Jython,Python等.Project的默认实现支持JavaScript作为脚本引擎,但您可以添加任何您喜欢的脚本语言.所以这只是将用Java语言编写的类与用脚本语言编写的代码连接起来(反之亦然).我可以看到,这种集成的唯一好处是脚本语言在编写程序时提供的简单性与在Java中编写相同的程序相比.
JSR 241:这是JSR-223的扩展,并强调采用Groovy作为脚本语言,即如果您计划在Java应用程序(Web或Dekstop应用程序)中使用脚本语言,请使用Groovy ..留下其他人,因为Groovy是更多Java和其他脚本语言如Jython,Python,JavaScript等已被采用和修改以适应Java,但自然选择是Groovy.
能否请你多说一点,我的理解是否正确?
到目前为止,我已经为scala尝试了jsr223脚本的sling实现,但是无法正确设置它.当我这样做:
public static void main(String[] args) {
try {
new ScriptEngineManager().getEngineByName("scala").
eval("object HelloWorld {def main(args: Array[String]) {
println(\"Hello, world!\") }}");
} catch (ScriptException e) {
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
我什么也没得到:
javax.script.ScriptException: ERROR
org.apache.sling.scripting.scala.Script line 13 : not found: type
Script at org.apache.sling.scripting.scala.ScalaScriptEngine.eval(ScalaScriptEngine.scala:117)
at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:247)
Run Code Online (Sandbox Code Playgroud)
类似的问题在这里讨论:http: //scala-programming-language.1934581.n4.nabble.com/How-to-compile-Scala-code-from-java-using-the-current-ClassLoader-instead-of-一个字符串为基础,classpat-td1955873.html#a1955873
和
也许还有另一个我不知道的实现.
任何帮助赞赏
我正在尝试在VB脚本中创建一个下拉/组合框.根据我的理解,我们需要为Internet Explorer创建一个实例并创建一个下拉/组合框,如下所示:
set oIE = createObject("InternetExplorer.Application")
with oIE
.Navigate "about:blank"
Do until .ReadyState = 4 : WScript.Sleep 100 : Loop
set oDoc = .document
.Visible = true
end with
with oDoc
.open
.writeln "<html><head><title>ComboBox Example</title></head>"
.writeln "<body scroll=no><object "
.writeln "classid=clsid:8BD21D30-EC42-11CE-9E0D-00AA006002F3"
.writeln "id=ComboBox1 width=400></object><p>"
.writeln "</body></html>"
.close
Do until .ReadyState = "complete" : WScript.Sleep 100 : Loop
set oComboBox1 = .all.ComboBox1
end with
with oComboBox1
.List = Array("One", "Two", "Three", "Four")
.AutoWordSelect = true
.focus
end with
oDoc.parentWindow.opener = "Me" …Run Code Online (Sandbox Code Playgroud) [这个问题类似于这一个,但我也有兴趣在沙箱中的可能性.]
我正在考虑在我的C#/ .NET应用程序中嵌入脚本语言,然后将我的一些应用程序API暴露给脚本.似乎有很多好的选择(Lua,Boo,IronPython等),但有没有简单的选项限制脚本语言的内置函数被使用?例如,我不希望脚本能够执行I/O,除非通过我明确公开的API,因此不打印到控制台,打开文件等.这些脚本语言中的任何一种都提供了一种简单的方法这个?
当人们说"Perl非常善于解析"时,人们的意思是什么?
Perl如何比Python或Ruby等其他脚本语言更好或更强大?
java ×5
scripting ×3
c# ×1
embedded ×1
groovy ×1
interpreter ×1
javascript ×1
jsr223 ×1
optimization ×1
parsing ×1
perl ×1
python ×1
rhino ×1
scala ×1
text-parsing ×1
typing ×1
vbscript ×1