12

使用している 2 台のコンピューターで .sbclrc ファイルを動作させるには、sbcl 内からホスト名やオペレーティング システムを取得する方法が必要です。環境変数を設定してから探すことができることは知っていますが、もっと直接的な方法はありますか?

アップデート

Ken からの回答は sbcl に固有のものではないため、一般的な Lisp を参照するように質問を変更しました。

4

2 に答える 2

20

「環境」関数を使用します。

* (machine-instance)
"myhostname"
* (machine-type)
"X86-64"
* (machine-version)
"Intel(R) Core(TM)2 Quad CPU    Q6600  @ 2.40GHz"
* (software-type)
"Linux"
* (software-version)
"2.6.32-3-amd64"
于 2010-12-07T02:24:33.067 に答える
2
* (require :sb-bsd-sockets)
("SB-BSD-SOCKETS" "SB-GROVEL" "ASDF")

* (use-package :sb-bsd-sockets)
T

* (host-ent-name (get-host-by-name "localhost"))
"myhost.mydomain.ext"

* (find :win32 *features*)
:WIN32

* (find :linux *features*)
NIL

編集:@Kenのソリューションの方が好きです。+1。

于 2010-12-07T02:20:09.070 に答える