challenge 環境変数の取得

コマンドライン引数の取得がありましたが、今回は環境変数の取得をお願いします。

取得した内容を表示できればよいですが、可能でしたらキーから値を得る手段の実装もお願いします。

Posted feedbacks - Common Lisp

分かる範囲で対応してみました。
環境変数の取得に関しては、処理系依存ですが、大概の処理系には存在していて、統一的に扱えるようなラッパーのパッケージも存在しています。
環境変数一覧は、SBCL、CMUCL、Clozure CL、CLISP、Allegro CLに対応しています。
変数名からの値の取得は、SBCL、CMUCL、Clozure CL、CLISP、Allegro CL、ECL、LispWorksに対応しています。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
(asdf:oos 'asdf:load-op :arnesi)
(asdf:oos 'asdf:load-op :osicat)

(defpackage :doukaku-191 (:use :cl))
(in-package :doukaku-191)

;; 一覧
(defun env ()
  #+(or sbcl cmu openmcl) (osicat:environment)
  #+clisp (getenv)
  #+allegro (excl.osi:environment))

;; 変数名から値を取り出し
(defun getenv (name)
  #+ecl (sys:getenv name)
  #-ecl (arnesi:getenv name))

Index

Feed

Other

Link

Pathtraq

loading...