問題タブ [reader-macro]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
macros - Lisp リーダー マクロで入力を文字列に読み込む
@this を「this」に変換するリーダー マクロを作成しようとしています。これは私が現在持っているものです:
問題は、@this の後に改行を入れる必要があることです。私も (read) で試してみましたが、それは設定されていない変数 test を返すだけです。@ 記号の後の文字数をハードコードすることはできません。何文字になるか分からないからです。これを修正する方法はありますか?
編集: read-char と peek-char をループして、#)、#\space、または #\Newline に到達するまで読み取る唯一の方法ですか?
stream - Common Lisp でデフォルトのリーダーを変更する
read
common lispの機能を置き換えることができる関数を書きました
この機能をデフォルトのリーダーとして使用する方法はありますか?
clojure - Clojure にユーザー定義のリーダー マクロがないのはなぜですか?
私が理解しているように、Clojureはリーダーマクロテーブルを公開したり、ユーザー定義のリーダーマクロを許可したりしません。
Clojure からそれらを除外する理由を述べている (おそらく Rich Hickey からの) 決定的または明示的な声明があるかどうか疑問に思っています。
Clojure にユーザー定義のリーダー マクロがないことの良し悪しを尋ねているのではないことに注意してください。なぜだろう。
common-lisp - 拡張サイトでマクロの境界を取得できますか?
GUI でマクロ展開を強調表示するために、マクロ展開が行われるファイルの場所と文字位置を取得したいと考えています。
そのために、マクロ自体から展開が行われるマクロの現在位置を参照できるようにしたいと考えています。
たとえば、次のコードがあるとします。
私はそれを次のように拡張できるようにしたい
そのような関数が存在する場合、最小限のマクロの例は次のようなものになる可能性があります。
また、これがどこで行われるべきかわからないため、リーダーマクロとしてタグ付けしています。
common-lisp - Common Lisp ハッシュドット #. リーダー マクロ
最近、いわゆる hash-dot Common Lisp リーダー マクロに出くわしました。検索エンジンの使用はあまり役に立たなかったので、例、説明、特にユースケースは大歓迎です。