次の条件を満たすスクリプト言語を探しています。
- 十分に文書化されています
- Javaで実装
- データ型を理解する (long、string などを処理できる)
- 完全に拡張可能
助言がありますか?現在、私は Javascript を使用していますが、数値を設定する Doubles は、私が行っているデータ作業には十分な大きさではありません。
ありがとう!
特に、Groovyはスクリプト言語として使用できますが、そうする必要はなく、Java の上に構築されています。これは別の言語の Java ポートではありません。つまり、JRuby/Jython よりも Java とより密接に統合されていることを意味します。
Groovy のドキュメントについては、 Groovy in Action (plug plug ;)を購入することをお勧めします。
Python と Ruby には Java 実装があります (Jython と JRuby を探してください)。
Clojure または Groovy が私の推奨事項です。
Jon の回答には既に 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}
LuaJavaかもしれません。すべての数値は、lua では内部的に double として表されます。
「データ型を理解する」とはどういう意味かわかりません。文字列や数値などを含むという意味であれば、JavaScript、Groovy、Python、および Ruby は、Java とうまく統合できる多くの言語の一部です。静的に型付けされた言語を探しているなら、よくわかりません。
JavaScript で double が十分に大きくないという問題に関しては、JavaScript コード内から Java BigDecimal オブジェクト (または BigInteger オブジェクト) を割り当てることができます。したがって、数値表現は問題になりません。
「数値を設定する倍数は、私が行っているデータ作業には十分な大きさではありません」とはどういう意味ですか? Doubles は、ほとんどの言語の AFAIK で同じサイズです。
どのくらいの精度が必要ですか? 約 16 桁以上の精度が必要な場合は、おそらく BigDecimal が適しています。