在Clojure中是否有相当于Common Lisp的*features
*,因此您可以检测操作系统和其他环境配置?或者我只是通过Java API来获取?在Clojure中检测操作系统
14
A
回答
17
可能使用Java API。这很容易,没有意义重新发明轮子。
user> (System/getProperty "os.name")
"Linux"
user> (System/getProperty "os.version")
"2.6.36-ARCH"
user> (System/getProperty "os.arch")
"amd64"
5
为了增加布赖恩·卡珀的回答,您可以轻松地通过Java API创建地图的系统性能,并将其绑定到符号功能:
(def *features* {
:name (System/getProperty "os.name"),
:version (System/getProperty "os.version"),
:arch (System/getProperty "os.arch")})
,让你这个结构,例如:
{:name "Windows 7", :version "6.1", :arch "x86"}
然后通过以下任何一种方式访问属性:
(:name *features*)
(*features* :name)
(get *features* :name)
无论哪一条漂浮在您的船上。
0
其他答案正在处理如何从Java很好地获取系统信息。如果你想要更多的帮助解释它,这里是兵马俑是怎么做的一些例子:
相关问题
- 1. 检测操作系统
- 2. jQuery - 检测操作系统和操作系统版本
- 3. CodeIgniter移动操作系统检测
- 4. 检测操作系统语言
- 5. 是否有宏检测操作系统...?
- 6. 如何检测操作系统
- 7. Dojo有/ sniff和操作系统检测
- 8. 操作系统架构检测脚本
- 9. 从Firefox扩展检测操作系统
- 10. AVR USB检测操作系统
- 11. 鼠标检测,操作系统启动
- 12. C++检测操作系统版本
- 13. 检测操作系统级别的引发事件(操作系统外观)
- 14. 在c#中检索操作系统
- 15. 在Symbian操作系统中检测到电源中断
- 16. 在C/C++中自动检测操作系统
- 17. 在红宝石中检测操作系统
- 18. 如何在php中检测操作系统编码?
- 19. 要在Chrome中检测操作系统的JavaScript版本37.0.2062.94
- 20. 使用navigator.platform在浏览器中检测操作系统
- 21. 在Windows操作系统中的pathos软件包操作系统
- 22. 操作系统中
- 23. 在clojure中制作插件系统
- 24. 如何检测Adobe AIR中的Android操作系统版本?
- 25. 是否可以检测Haxe中的当前操作系统?
- 26. 从Google Chrome扩展程序中检测操作系统
- 27. 如何检测操作系统中的JMF
- 28. 如何检测Flex中的32位或64位操作系统?
- 29. 如何从Silverlight应用程序中检测操作系统?
- 30. 如何检测ANT中的Windows操作系统
`System.getProperties`返回一个Java哈希表,所以你也可以做`(到{}(System/getProperties))`来获得一个字符串的Clojure映射到字符串并且以这种方式拉出属性。 – 2011-01-24 21:11:06