Có tương đương với Common Lisp's *features
* trong Clojure, vì vậy bạn có thể phát hiện cấu hình hệ điều hành và môi trường khác không? Hay tôi chỉ cần đi qua API Java cho điều đó?Phát hiện hệ điều hành trong Clojure
14
A
Trả lời
17
Có thể sử dụng API Java. Nó đủ dễ dàng, không có ý nghĩa tái phát minh ra bánh xe.
user> (System/getProperty "os.name")
"Linux"
user> (System/getProperty "os.version")
"2.6.36-ARCH"
user> (System/getProperty "os.arch")
"amd64"
5
Để thêm vào câu trả lời Brian Carper, bạn có thể dễ dàng tạo ra một bản đồ của thuộc tính hệ thống qua API Java và ràng buộc nó vào biểu tượng tính năng:
(def *features* {
:name (System/getProperty "os.name"),
:version (System/getProperty "os.version"),
:arch (System/getProperty "os.arch")})
nào mang đến cho bạn cấu trúc này, ví dụ:
{:name "Windows 7", :version "6.1", :arch "x86"}
sau đó truy cập vào một tài sản trong bất kỳ một trong các cách sau:
(:name *features*)
(*features* :name)
(get *features* :name)
Cho dù nổi thuyền của bạn.
0
Các câu trả lời khác đang xử lý cách lấy thông tin hệ thống từ Java khá tốt. Nếu bạn muốn được giúp đỡ nhiều hơn nữa giải thích nó, đây là một số ví dụ về cách Terracotta đã làm điều đó:
Các vấn đề liên quan
- 1. Phát hiện hệ điều hành
- 2. Phát hiện hệ điều hành trong Ruby
- 3. jQuery - phát hiện hệ điều hành và phiên bản hệ điều hành
- 4. Phát triển một hệ điều hành
- 5. Làm thế nào để phát hiện hệ điều hành trong một tập tin thực hiện?
- 6. Làm thế nào để phát hiện các hệ điều hành hiện tại từ gradle
- 7. Làm thế nào tôi có thể phát hiện hệ điều hành trong Perl?
- 8. Làm thế nào để phát hiện ngôn ngữ mặc định của hệ điều hành trong python?
- 9. Quá tải nhà điều hành trong Clojure
- 10. Ai thực hiện hệ điều hành giao tiếp trong java?
- 11. Tải hệ điều hành hiện tại Trong Adobe Air
- 12. Hệ điều hành trong Ada
- 13. Phát triển hệ điều hành không phải là x86
- 14. cách phát hiện ngôn ngữ hệ điều hành (ngôn ngữ) từ mã java
- 15. PHP có chức năng phát hiện hệ điều hành đang chạy không?
- 16. Phát triển một hệ điều hành cho kiến trúc x86
- 17. Làm cách nào để phát hiện hệ điều hành đang chạy?
- 18. Xác định hệ điều hành trong .vimrc
- 19. Làm thế nào để phát hiện đúng hệ điều hành Windows, Linux và Mac
- 20. Phát hiện phiên bản hệ điều hành chính xác từ trình duyệt
- 21. Cách phát hiện nếu hệ điều hành Linux sử dụng môi trường KDE hoặc Gnome
- 22. Thực hiện mà không cần hệ điều hành
- 23. Viết hệ điều hành trong C++
- 24. malloc trong hệ thống nhúng không có hệ điều hành
- 25. Hệ điều hành Android và postgreSQL
- 26. Viết một hệ điều hành với UEFI
- 27. Sách Android trên hệ điều hành
- 28. Trong R, cách kinh điển để phát hiện nếu hệ điều hành là 64-bit là gì?
- 29. Hệ điều hành nào là tốt nhất cho phát triển PHP hoặc Phát triển nói chung?
- 30. Phát hiện chữ ligatures Unicode trong Clojure/Java
'System.getProperties' trả về một Hashtable Java, vì vậy bạn cũng có thể làm '(vào {} (Hệ thống/getProperties))' để có được một bản đồ Clojure của chuỗi để chuỗi và kéo các thuộc tính ra theo cách đó. –
@Brian Carper - Nice, cho thấy sự thiếu sử dụng Java thực sự của tôi. Điều đó nói rằng, 'System/getProperties' có thể trả về một lượng lớn thông tin, do đó, làm theo cách thủ công có thể giúp ai đó đến từ Lisp chỉ muốn một vài thuộc tính. – semperos