ClojureにCommon Lispの*features
*と同等のものがあるので、OSやその他の環境設定を検出できますか?それとも、Java APIを使用するだけですか?Clojureでオペレーティングシステムを検出
14
A
答えて
17
おそらくJava APIを使用します。それは十分に簡単で、車輪を再発明する意味はありません。 、あなたにこの構造を与える
(def *features* {
:name (System/getProperty "os.name"),
:version (System/getProperty "os.version"),
:arch (System/getProperty "os.arch")})
:
user> (System/getProperty "os.name")
"Linux"
user> (System/getProperty "os.version")
"2.6.36-ARCH"
user> (System/getProperty "os.arch")
"amd64"
5
は、あなたが簡単に機能をするJava APIを介してシステムのプロパティのマップを作成し、シンボルに結合することができ、ブライアンCarperの答えに追加するには例えば:次に
{:name "Windows 7", :version "6.1", :arch "x86"}
は、次のいずれかの方法でプロパティにアクセス:
(:name *features*)
(*features* :name)
(get *features* :name)
いずれかのボートを浮かべます。
0
その他の回答は、Javaからシステム情報を取得する方法をかなりうまく処理しています。
関連する問題
- 1. オペレーティングシステムを検出する
- 2. efiはオペレーティングシステムを検出しません
- 3. 異なるオペレーティングシステムとプラットフォームの検出
- 4. オペレーティングシステムでのファイル検索
- 5. クリック座標を検出するClojure
- 6. PHPでオペレーティングシステムのエンコーディングを検出するには?
- 7. オペレーティングシステムを検出するマクロはありますか?
- 8. 実行中のオペレーティングシステムを検出する方法は?
- 9. オペレーティングシステムがサーバー2008 r2、2008 spなどを検出する方法
- 10. Firefox拡張機能からオペレーティングシステムを検出
- 11. Clojureでのツリー検索core.logic
- 12. Powershellがサーバーのオペレーティングシステムを検索する
- 13. clojureで関数を呼び出す
- 14. JavaからClojureを呼び出すときのスコープClojureのスコープ
- 15. 誰もこの出力(オペレーティングシステム)を説明できますか?私は、オペレーティングシステムのコースを勉強しながら、
- 16. Unicode Clojure unitテスト出力
- 17. GWTを使用してオペレーティングシステムを検出するにはどうすればよいですか?
- 18. どのオペレーティングシステムが実行されているかを検出するにはアプリケーションが必要ですか?
- 19. Clojure/seeseaw.core/table lazy-seq検索エラー
- 20. JavaからClojure 1.3を呼び出す
- 21. Jdbc4ArrayからClojure vecを抽出する
- 22. .NETからClojureを呼び出す
- 23. .vimrcでのオペレーティングシステムの決定
- 24. 最新のオペレーティングシステムでのメモリセグメンテーション
- 25. オペレーティングシステムVBSスクリプト
- 26. オペレーティングシステムのページフレーム
- 27. Dockerデフォルトのオペレーティングシステム
- 28. オペレーティングシステム - MLFQスケジューリング
- 29. マルチコアとオペレーティングシステム
- 30. オペレーティングシステムの資料
'System.getProperties'は、JavaのHashtableを返すので、あなた:あなたはそれを解釈するより多くの助けをしたい場合は、ここでのテラコッタがいることをどうやったのかの例をいくつか示します。文字列のClojureマップを文字列に取得し、そのようにプロパティを引き出すために '({{}(System/getProperties))に')を実行することもできます。 –
@Brian Carper - ニースは、実際のJavaの使用が不足していることを示しています。つまり、 'System/getProperties'は大量の情報を返すことができるので、手動で行うことは、Lispから来ている人に、いくつかのプロパティを必要とする人を助けるかもしれません。 – semperos