問題タブ [cursive]
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.
intellij-idea - 展開エラーなしでClojureマクロを実行できません
特定のシンボルのメタデータを調べて、キーワードではないエントリを削除するマクロを作成しています。つまり、キー名が「:」で始まっていません。
「OneHundred」と「NinetyNine」のエントリを削除し、残りのメタデータはそのままにしておきたいです。
だから私は動作するコードを少し持っています:
できます。X のメタデータから「OneHundred」と「NinetyNine」のエントリが削除されました。
次に、それをマクロにコーディングします。神はREPLを祝福します。
defmacro を使用してマクロを定義すると、エラーは発生しません。
マクロの macroexpand-1 、例えば
適切なコードに展開されます。ここ:
しかし!!!
実際に REPL で実際のパラメーターを使用してマクロを呼び出すと、最も理解できないエラー メッセージが表示されます。
ああ、全能にして賢明なクロジュレゴッドよ、慈悲を乞う。私の罪はどこにありますか?