2012-08-01 17 views
1

我有帶dsl-like的東西數據的文件。在那裏我想譴責一些基於s表達的信息。我有一些處理這些文件的亞軍。在其他命名空間中應用宏

runner.clj

(require '[data :as d]) 
;processing 

data.clj

(ns data) 
(defmacro data [s] (println (str s))) 

;dsl like stuff goes here 
(data "foo") 

我怎樣才能把像defmacro數據文件不DSL?

也歡迎任何具有類似解決方案的源代碼鏈接。

回答

2
; dsl.clj 
(ns dsl) 
(defmacro data ...) 

; data.clj 
(ns data 
    (:require dsl)) 

(dsl/data ...) 

或用use

; data.clj 
(ns data 
    (:use [dsl :only (data)])) 

(data ...) 
+0

非常感謝。使用是我需要的。 – 2012-08-01 12:35:40