0

この質問のフォローアップ: clojure でプリミティブを含むクラスのコンストラクターを取得する方法は?

.クラス名の末尾にa を追加するだけのマクロを作成できることはわかっていますが、これを行う関数が必要です。

(defn construct [cl & args]
   ....... )

(construct "java.util.Date" 0) 
;=> #inst "1970-01-01T00:00:00.000-00:00"

(construct "java.util.Date" 2013 4 27) 
;=> #inst "2013-04-26T14:00:00.000-00:00"

(construct "java.util.Date" "27 Apr 2013") 
;=> #inst "2013-04-26T14:00:00.000-00:00"

関数はプリミティブ型をどのようにチェックしますか?

4

1 に答える 1

0

マクロはどうですかnew

例:

(new java.util.Date 0)
 => #inst "1970-01-01T00:00:00.000-00:00"

(new java.util.Date "27 Apr 2013")
=> #inst "2013-04-26T22:00:00.000-00:00"
于 2013-04-28T17:20:47.830 に答える