我正在寻找符合以下条件的脚本语言:
有什么建议吗?目前,我正在使用Javascript,但是它设置数字的双打对于我正在进行的数据工作来说还不够大。
谢谢!
答案 0 :(得分:4)
特别是,Groovy 可以用作脚本语言,但不一定是,并且是基于Java构建的。它不是一个不同语言的Java端口,这意味着它与Java的集成比JRuby / Jython更紧密,尽管自从我上次查看它们以来可能已经发生了变化。
至于Groovy的文档,您可能想购买Groovy in Action(插头插件;)
答案 1 :(得分:2)
Python和Ruby有Java实现(寻找Jython和JRuby)。
答案 2 :(得分:0)
LuaJava可能就是这样。所有数字在内部表示为lua中的双精度。
答案 3 :(得分:0)
我不确定“了解数据类型”是什么意思。如果你的意思是它有字符串,数字等,那么JavaScript,Groovy,Python和Ruby是很多与Java集成的语言中的一部分。如果你正在寻找一种静态类型的语言,我不确定。
关于您在JavaScript中不够大的双打问题,您可以在JavaScript代码中分配Java BigDecimal对象(或BigInteger对象)。因此,数字表示不应成为您的问题。
答案 4 :(得分:0)
你是什么意思“它设置数字的双打对于我正在做的数据工作来说还不够大。”在大多数语言AFAIK中,双打的大小相同。
您需要多少精度?如果您需要超过大约16位数的精度,BigDecimal可能适合您。
答案 5 :(得分:0)
Clojure或Groovy将是我的建议。
Jon's answer已经有一些关于Groovy的详细信息,所以这里有关于Clojure的更多信息:
特别是Java互操作非常简单:Clojure对象是 Java对象,反之亦然,你可以直接调用方法:
;; create a string
(def s "Hello World")
;; inspect its type
(class s)
=> java.lang.String
;; call a method
(.length s)
=> 11
;; count the characters (Clojure can treat Strings as a sequence of characters)
(frequencies s)
=> {\H 1, \e 1, \l 3, \o 2, \space 1, \W 1, \r 1, \d 1}