2011-06-20 22 views
5

Sevkiyat makrosu temizlik için başka bir şekilde sarmak istedim. Bununla birlikte, Clojure ona farklı davranıyor gibi görünüyor ... ya da belki de bir şeyleri yanlış anlamıyor muyum? Şimdi # için bir takma isim yapma durumuna bakalım.Clojure - gönderi makrosu özel mi?

(defmacro mkDef [x y] `~(list 'def x y)) 

Ama bu değil:

Bu işleri

(defmacro mkDispatch [x] `~(list '# x)) 

Teşekkür !!

P.S. Yeterli temsilcisi olan birisi: lütfen bir sözdizimi-makro etiketi oluşturun; Benzer soruları daha iyi arayabilmeyi çok isterim.

cevap

8

# gönderme makrosu bir okuyucudur ve okuyucu makrolar normal makrolar kullanılarak uygulanamaz; (eval) yerine yorumlanırlar.