1

私は CCL と呼ばれる Common Lisp の実装を使用していますが、よくわからない奇妙な問題に遭遇しました。

私が電話するとき:

(read-from-string "(=)")

equal 演算子を含むリストを取得します。

(=)

しかし、私が電話すると:

(read-from-string "(<)")

<: の前にバックスラッシュが付きます。

(\<)

これは非常に紛らわしいと思います。これは私の実装に固有のものなのか、それとも仕様の意図された部分なのか疑問に思っています。この \ は < と > には表示されるのに = には表示されないのはなぜですか?

バックスラッシュを避ける方法はありますか?

4

1 に答える 1

2

バックスラッシュは単なるプレゼンテーションの問題です。

あなたがそうするとき、あなたは(mapcar #'symbol-name (read-from-string "(<)"))おそらく を得る("<")ので、あなた正しいシンボルを得ています。

このバックスラッシュは ANSI CL 標準からの (マイナーな) 逸脱であるため、必要に応じて、これをバグとして CCL メンテナーに報告できます。

于 2013-03-05T23:05:04.870 に答える