我很難在Clojure中寫入類型檢查。請幫助我。如何在Clojure中編寫/執行類型操作?
- 如何寫/執行'char?'在Clojure中?
如何寫/執行'atom?'在Clojure中?
我如何知道Clojure中物品的類型?
我可以寫(type? an-item)
嗎?
我很難在Clojure中寫入類型檢查。請幫助我。如何在Clojure中編寫/執行類型操作?
如何寫/執行'atom?'在Clojure中?
我如何知道Clojure中物品的類型?
我可以寫(type? an-item)
嗎?
user> (instance? Character \c)
true
Character
這裏是java.lang.Character
。
我認爲atom?
的傳統定義是「無,或者任何不是成對的東西」,但這在Clojure中沒有意義,因爲Clojure不使用cons細胞來處理太陽下的所有事情。我們也有矢量和hashmaps和套等等。在Clojure中的一種可能性是:
(defn atom? [x] (not (coll? x)))
Clojure中的典型類型問題歸結爲問「這是什麼類,或什麼原始包裝類可以包含它」。這來自Clojure對java的一流處理。 Clojure使用java類,而不是引入自己的類型系統,這需要很多或者包裝器來自java的來回轉換。
(= Character (class \a))
(symbol? 'asdf) ; not quite what you want but close. see
http://clojure.org/reader(= String (class "asdf"))
Brians anser using instance?比使用=更好 – 2009-07-23 21:49:42