0

repl で、または次を使用してロードされたファイルで、ほとんどのシャープ記号読み取りマクロ(load)を使用できます。

#;1> #${ abcdef }
#${abcdef}

しかし、私は外部宣言構文を使用できません#> <#:

#;1> #>#include "md5-base.c"<#
Error: invalid sharp-sign read syntax: #\>

確かに、おそらく repl で使用する理由はありませんが、(load)実行時に他のソースを調べて内省するプログラムを作成しようとしていますが、次の構文にヒットすると失敗します。

(load "/tmp/temp29fe.31217/md5/md5.scm")
; loading /tmp/temp29fe.31217/md5/md5.scm ...

Error: (line 11) invalid sharp-sign read syntax: #\>

        Call history:

        <syntax>          (load "/tmp/temp29fe.31217/md5/md5.scm")
        <eval>    (load "/tmp/temp29fe.31217/md5/md5.scm")      <--

シャープな構文(load)を含むファイルはどうすればよいですか?#>

4

1 に答える 1

0

その構文はコンパイラでのみサポートされています。評価されたコードで使用しても意味がありません。それを使用することのみに関心がある場合は、おそらくset-sharp-read-syntaxreadを使用して独自のオーバーライドを定義することで解決できます! .

于 2016-08-15T06:39:45.437 に答える