以下のGuileスキームコードは何をしますか?Guileスキーム - 引用期間?
(eq? y '.)
(cons x '.)
コードはMzSchemeでは有効ではありませんが、スキームの実装間で移植可能な同等物はありますか?
私は他人が書いたこのコードを移植しようとしています。ギルは「に応答しているようだ。 #{。}#で説明していますが、別のスキームではどういう意味か、どのようにするのかは分かりません。
以下のGuileスキームコードは何をしますか?Guileスキーム - 引用期間?
(eq? y '.)
(cons x '.)
コードはMzSchemeでは有効ではありませんが、スキームの実装間で移植可能な同等物はありますか?
私は他人が書いたこのコードを移植しようとしています。ギルは「に応答しているようだ。 #{。}#で説明していますが、別のスキームではどういう意味か、どのようにするのかは分かりません。
さて、それは 'ようです。 Guileの(string-> symbol "。")に対して有効な構文ですが、MzSchemeは少なくとも||を必要とします。その期間のシンボルとして。
私は、どんなSchemeシステムでもドット記号を受け入れることに驚いています。私のアドバイスは、あなたが気づいていると確信しているように別のシンボルを使用することです。ドットはペアを表す略語であり、コードを取るSchemeを見つけることができても、不幸な実際にあなたのコードを読むという作業です。
#{.}#
シンボルを定義するGuile固有の方法は、Schemeのいくつかの区切り文字を含んでいます。 http://www.gnu.org/software/guile/manual/html_node/Symbol-Read-Syntax.html
他のスキームの方言については、別の方法があるはずです。
シンボルは、文字列内で有効な文字のシーケンスを含むことができ、 'string-> symbol'を使って任意の文字列をシンボルにすることができます。しかし、パイプやバックスラッシュのエスケープを使用せずに、ベアトークンとして書くことができるシンボルは、かなり小さいサブセットです。 –