在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. jQuery - 检测操作系统和操作系统版本
- 2. C++检测操作系统版本
- 3. 是否有宏检测操作系统...?
- 4. 从Firefox扩展检测操作系统
- 5. 检测操作系统语言
- 6. 在Symbian操作系统中检测到电源中断
- 7. 要在Chrome中检测操作系统的JavaScript版本37.0.2062.94
- 8. 在红宝石中检测操作系统
- 9. 如何在php中检测操作系统编码?
- 10. 在clojure中制作插件系统
- 11. Javascript:操作系统检测...如果在Linux上
- 12. 在Bada操作系统上检测编译
- 13. 在ChromeWorker内检测操作系统详细信息
- 14. 如何检测用户正在运行的操作系统?
- 15. 操作系统在连接时如何检测USB硬盘
- 16. 从Google Chrome扩展程序中检测操作系统
- 17. 如何从Silverlight应用程序中检测操作系统?
- 18. 如何检测操作系统中的JMF
- 19. 如何检测make文件中的操作系统?
- 20. 如何检测Flex中的32位或64位操作系统?
- 21. 检测外壳脚本中的Windows操作系统版本
- 22. 检测如果C++中的Windows操作系统
- 23. 如何检测ANT中的Windows操作系统
- 24. 操作系统
- 25. 如何检测系统信息,如操作系统或设备类型
- 26. 设置操作系统标志来测试操作系统的具体功能
- 27. 系统测试的操作顺序?
- 28. 如何检测工作站/系统屏幕使用Java在Windows操作系统中锁定/解锁?
- 29. jquery浏览器和操作系统检测,可以检测到android和iOs
- 30. 检查DLL操作系统版本
`System.getProperties`返回一个Java哈希表,所以你也可以做`(到{}(System/getProperties))`来获得一个字符串的Clojure映射到字符串并且以这种方式拉出属性。 – 2011-01-24 21:11:06