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. 異なるオペレーティングシステムとプラットフォームの検出
- 3. オペレーティングシステムでのファイル検索
- 4. PHPでオペレーティングシステムのエンコーディングを検出するには?
- 5. クリック座標を検出するClojure
- 6. Firefox拡張機能からオペレーティングシステムを検出
- 7. オペレーティングシステムを検出するマクロはありますか?
- 8. 実行中のオペレーティングシステムを検出する方法は?
- 9. オペレーティングシステムがサーバー2008 r2、2008 spなどを検出する方法
- 10. 誰もこの出力(オペレーティングシステム)を説明できますか?私は、オペレーティングシステムのコースを勉強しながら、
- 11. Unicode Clojure unitテスト出力
- 12. GWTを使用してオペレーティングシステムを検出するにはどうすればよいですか?
- 13. JavaからClojure 1.3を呼び出す
- 14. .NETからClojureを呼び出す
- 15. .vimrcでのオペレーティングシステムの決定
- 16. 最新のオペレーティングシステムでのメモリセグメンテーション
- 17. JavaScriptを使用してオペレーティングシステムを検出する方法(廃止予定のwindow.navigatorはありません)
- 18. Adaのオペレーティングシステム
- 19. オペレーティングシステムのAndroidブック
- 20. オペレーティングシステムの資料
- 21. オペレーティングシステムVBSスクリプト
- 22. マルチコアとオペレーティングシステム
- 23. PICマイクロコントローラのオペレーティングシステム
- 24. clojureでバイナリ検索ツリーを実装する
- 25. clojure app config filles - pprint s-expressionの出力を吐き出す?
- 26. Clojureの標準出力の同期
- 27. Javaでオペレーティングシステムを取得する方法
- 28. IDでシステムのオペレーティングシステムを確認
- 29. BSDオペレーティングシステムのRawソケット
- 30. WPFのアプリケーションとオペレーティングシステム
'System.getProperties'は、JavaのHashtableを返すので、あなた:あなたはそれを解釈するより多くの助けをしたい場合は、ここでのテラコッタがいることをどうやったのかの例をいくつか示します。文字列のClojureマップを文字列に取得し、そのようにプロパティを引き出すために '({{}(System/getProperties))に')を実行することもできます。 –
@Brian Carper - ニースは、実際のJavaの使用が不足していることを示しています。つまり、 'System/getProperties'は大量の情報を返すことができるので、手動で行うことは、Lispから来ている人に、いくつかのプロパティを必要とする人を助けるかもしれません。 – semperos