私は長い間エラーを見つけようとしてきました、私はプログラミング言語をやっていて、ラグを使って次のコードを持っています、私はデータとしてブラケットを持つ構文オブジェクト(resto ...)を持っています、私はこの構文を変換します-データムへのオブジェクト:
(let ([i (syntax->datum #'(resto ...))])
(display "Content i:")
(display i)
(if (eq? i (string->symbol "(})"))
(display "true")
(display "false")
)
)
出力は次のとおりです。
Content: (})
false
しかし、私がこれを行う場合
(for ([i (syntax->datum #'(resto ...))])
(displayln "Content:")
(displayln i)
(if (eq? i (string->symbol "}"))
(display "true")
(display "false")
)
)
出力は次のとおりです。
Content: }
true
私の質問: ¿なぜ節 let の IF が FALSE なのですか? ¿私はこれらの 2 つのタイプを比較することができ、その結果は FOR なしで TRUE ですか?
関数に関するドキュメント: