コードにClojureの'(1+2)
のようなものが含まれていると、java.lang.RuntimeException
が表示され、「Unmatched delimiter:」というエラーメッセージが表示されます。ClojureはJVMによって制限されているので、このコードは評価できませんか?
しかし、私が今までのEmacs Lispのか、ラケット、'(1+2)
のように使ってきた他のLisp方言でだけ特殊な形式の引用で、リスト中の何を評価すべきではないので、どのこのようなはずです行為、リストを返します。 。
私は、JVMの制限のためにこれらのコードが他の方言でどのように動作するように動作できないのだろうかと思います。それともClojureのバグですか?あるいは、Clojureの引用と他のLispの方言の定義が異なるかもしれませんか?
実際のエラーは 'NumberFormatExceptionです。無効な番号です:1 + 2 clojure.lang.LispReader.readNumber(LispReader.java:330)'。これは、clojureが数値を読み取ろうとしている(そして失敗している)ためです。 Unmatched delimiterエラーは、残りの式を読み取ろうとした結果、後になります。 – dsm
この動作をJVMにどのように結び付けるかはわかりません。 –