Я хотел бы видеть, если символ был «DEF» под ред, но я не вижу IfDef синтаксисВ clojure, как я могу проверить, был ли символ определен?
ответ
user> (resolve 'foo)
nil
user> (def foo 3)
#'user/foo
user> (resolve 'foo)
#'user/foo
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
EDIT: за комментарий MayDaniel, это не совсем то, что вы просили, но он получит вас там. Вот реализация bounded?
(вероятно, не лучшее название):
(defn bounded? [sym]
(if-let [v (resolve sym)]
(bound? v)
false))
user> (map bounded? ['a 'b 'c])
(true false false)
Ну, нет. 'b разрешен, но он не связан. Этого не интересует вопросник. – MayDaniel
Вы правы. Пересмотрено –
Я думаю, что было бы редко, что на самом деле нужно было бы «истина» и «ложь». Поскольку 'resolve' возвращает истинное значение, если символ привязан, и значение false,' nil', если оно несвязано, часто можно использовать 'resolve' как есть. '(if (resolve 'c)« Символ связан, чувак ».« Whaa? Этот символ несвязан! »)' – Mars
Можно использовать найти-вар для этого
(bound? (find-var 'user/y))
Это возвращает исключение с нулевым указателем, если 'y' несвязано в' user', потому что 'find- var' возвращает 'nil' в этом случае. – Mars
- 1. Как я могу определить, был ли определен контент JSF?
- 2. Как я могу получить окно, в котором был определен объект?
- 3. Как я могу проверить, был ли вход пустым?
- 4. Как проверить, если angularjs контроллер был определен
- 5. Как я могу надежно проверить, определен ли атрибут для объекта?
- 6. Java: как проверить, был ли введен первый символ == x
- 7. Как проверить, определен ли объект?
- 8. Могу ли я определить java-интерфейс в Clojure?
- 9. Как я могу определить, использовался ли символ в качестве ключа?
- 10. Как проверить, что символ определен в скрипте компоновщика
- 11. Проверьте, был ли определен определенный HTTP-заголовок
- 12. Переменный RMADT был определен как символ, так и числовой
- 13. Clojure карет как символ?
- 14. Как я могу проверить, был ли я уже зарегистрирован в salesforce в приложении Android?
- 15. Могу ли я использовать Clojure с nginx?
- 16. Могу ли я условно скомпилировать clojure/clojurescript?
- 17. ./ в Clojure (квалифицированный символ?)
- 18. Как я могу проверить, добавил ли я узел в swift?
- 19. Как я могу проверить, когда JFrame был закрыт?
- 20. как проверить текстовое поле SWT, чтобы в нем был символ '*'?
- 21. Как проверить, передан ли символ как int
- 22. Как я могу применить «или» в Clojure?
- 23. Как проверить, есть ли символ в алфавите?
- 24. Проверьте, не определен ли символ Unicode в Swift
- 25. Могу ли я частично вызвать вызов метода Java в Clojure?
- 26. Как проверить, является ли символ в строке??
- 27. Как проверить, поддерживает ли значение Clojure метаданные?
- 28. Проверьте, был ли последний введенный символ пробелом
- 29. Как проверить фьючерсы в clojure?
- 30. Как я могу сделать исключение в Clojure?
Brilliant, работал в первый раз. Благодаря! :) – Zubair