我想看看如果符號已經被「高清」版,但我看不到任何IFDEF語法在clojure中,如何測試符號是否已被定義?
19
A
回答
24
user> (resolve 'foo)
nil
user> (def foo 3)
#'user/foo
user> (resolve 'foo)
#'user/foo
6
resolve
或ns-resolve
可能你在找什麼:
user> (def a 1)
#'user/a
user> (def b)
#'user/b
user> (resolve 'a)
#'user/a
user> (resolve 'b)
#'user/b
user> (resolve 'c)
nil
取得布林:
user> (boolean (resolve 'b))
true
編輯:每MayDaniel的評論,這不正是你問什麼,但它會得到你。下面是bounded?
實現(可能不是最好的名字):
(defn bounded? [sym]
(if-let [v (resolve sym)]
(bound? v)
false))
user> (map bounded? ['a 'b 'c])
(true false false)
2
可以使用發現-VAR這個
(bound? (find-var 'user/y))
+0
如果'y'在'user'中被綁定,返回空指針異常,因爲'find- var'在這種情況下返回'nil'。 – Mars 2016-09-20 23:20:42
相關問題
- 1. Puppet - 測試包是否已經定義?
- 2. 如何使用已定義的參數(toHaveBeenCalledWith)測試函數是否被調用
- 3. 如何測試\符號(反斜槓)是否在字符串中?
- 4. 在Clojure中定義丟失的符號
- 5. 在python中,如何測試路徑是否是符號鏈接?
- 6. 測試連接是否已被調用
- 7. 測試UITableViewCell是否已被刪除
- 8. 測試JavaScript是否已被修改
- 9. 測試宏內是否定義了預處理器符號
- 10. 刪除Clojure REPL中定義的測試
- 11. 如何在我的.vimrc中檢測「&t_Co」是否被「定義」?
- 12. 如何在運行時檢測符號是否被剝離?
- 13. 如何測試UIControlEvents是否已被觸發
- 14. 在Jinja2中,如何測試變量是否未定義?
- 15. 如何在引用它之前測試變量是否已定義?
- 16. 如何檢查字符串中是否只定義了符號?
- 17. 如何測試塊是否被調用
- 18. 如何測試div是否被阻止
- 19. 在Clojure中,符號名稱開頭的問號是否有特殊含義?
- 20. 如何檢測Console.In(stdin)是否已被重定向?
- 21. 如何檢測您是否已被mod_rewrite重定向?
- 22. 測試gdb便利變量是否已定義
- 23. 如何檢查Gjs類是否已被定義?
- 24. 如何在Eclipse中運行Clojure測試?
- 25. 如何在Clojure中測試空載體
- 26. 如何測試圖像是否已經在緩存中?
- 27. 如何測試頁面是否已在Jquery Mobile中「pagecreated」?
- 28. 如何測試所有預期的web.config設置是否已定義?
- 29. 如何測試函數是否被調用(單元測試角)
- 30. 如何測試預測鍵盤是否在Android上被禁用?
輝煌,曾第一次。謝謝! :) – Zubair 2010-11-16 20:53:48