Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > ENVオブジェクト

object ENV

クラスの継承リスト: ENV
extend: Enumerable

要約

環境変数を表すオブジェクト。Hash と同様のインターフェースを持ち ます。ただし、Hash と異なり、ENV のキーと値には文字列しか とることができません。

ENV で得られる文字列は ENV['PATH'] を除いて汚染されていま す。オブジェクトの汚染に関しては セキュリティモデル を参照して下さい。 ENV['PATH'] はその要素が誰でも書き込み可能なディレクトリを含ん でいる場合に限り汚染されます。

例:

p ENV['TERM'].tainted?  # => true
p path = ENV['PATH']    # => "/usr/local/bin:/usr/bin:/bin:/usr/X11/bin"
p path.tainted?         # => false

また、ENV で得られる文字列は Object#freeze されています。

例:

p ENV['TERM'].frozen?  # => true

Windows では環境変数は大文字、小文字を区別しません。(cygwin を除く)

例:

ENV['OS'] # => Windows_NT
ENV['os'] # => Windows_NT

目次

特異メソッド
[] []= store clear delete delete_if reject! each each_pair each_key each_value empty? fetch has_key? include? key? member? has_value? value? index indexes indices inspect invert keys length size rehash reject replace select shift to_a to_hash to_s update values values_at

特異メソッド

self[key] -> String[permalink][rdoc]

key に対応する環境変数の値を返します。該当する環境変数が存在 しない時には nil を返します。

[PARAM] key:
環境変数名を指定します。 to_str で文字列化されます。
self[key] = value[permalink][rdoc]
store(key, value) -> String

key に対応する環境変数の値を value にします。 value が nil の時、key に対応する環境変数を取り除きます。

[PARAM] key:
環境変数名を指定します。 to_str で文字列化されます。
[PARAM] value:
置き換えるべき値を指定します。 to_str で文字列化されます。
[RETURN]
value を返します。
clear -> self[permalink][rdoc]

環境変数をすべてクリアします。self を返します。

delete(key) -> String | nil[permalink][rdoc]
delete(key) {|key| ... } -> String | nil

key に対応する環境変数を取り除きます。取り除かれた環境変数の 値を返しますが、key に対応する環境変数が存在しない時には nil を返します。

ブロックが与えられた時には key にマッチするものがなかった時 に評価されます。

[PARAM] key:
環境変数名を指定します。 to_str で文字列化されます。
delete_if {|key, value| ... } -> ENV[permalink][rdoc]
reject! {|key, value| ... } -> ENV | nil
delete_if -> Enumerable::Enumerator
reject! -> Enumerable::Enumerator

key と value を引数としてブロックを評価した値が真であ る時、環境変数を削除します。

reject! は要素に変化がなければ nil を返します。

each -> Enumerable::Enumerator[permalink][rdoc]
each_pair -> Enumerable::Enumerator
each {|key, value| ... } -> self
each_pair {|key, value| ... } -> self

key と value を引数としてブロックを評価します。

each_key -> Enumerable::Enumerator[permalink][rdoc]
each_key {|key| ... } -> self

key を引数としてブロックを評価します。

each_value -> Enumerable::Enumerator[permalink][rdoc]
each_value {|value| ... } -> self

value を引数としてブロックを評価します。

empty? -> bool[permalink][rdoc]

環境変数がひとつも定義されていない時真を返します。

fetch(key) -> String[permalink][rdoc]
fetch(key, default) -> String
fetch(key) {|key| ... } -> String

key に関連づけられた値を返します。該当するキーが登録されてい ない時には、引数 default が与えられていればその値を、ブロッ クが与えられていればそのブロックを評価した値を返します。そのいずれ でもなければ例外が発生します。

[PARAM] key:
環境変数の名前を指定します。 to_str で文字列化されます。
[PARAM] default:
keyに対応する環境変数の値がないときにこの値を返します。
[EXCEPTION] IndexError:
引数defaultもブロックも与えられてない時、キーの探索に失敗すると発生します。
has_key?(key) -> bool[permalink][rdoc]
include?(key) -> bool
key?(key) -> bool
member?(key) -> bool

key で指定される環境変数が存在する時、真を返します。

[PARAM] key:
環境変数の名前を指定します。to_str で文字列化されます。
has_value?(val) -> bool[permalink][rdoc]
value?(val) -> bool

val を値として持つ環境変数が存在する時、真を返します。

[PARAM] val:
値を指定します。to_str で文字列化されます。
index(val) -> String | nil[permalink][rdoc]

val に対応するキーを返します。対応する要素が存在しない時には nil を返します。

[PARAM] val:
値を指定します。 to_str で文字列化されます。
indexes(*key) -> [String][permalink][rdoc]
indices(*key) -> [String]

このメソッドは obsolete です。 使用すると警告メッセージが表示されます。 代わりに ENV.values_at を使用します。

引数で指定された名前の環境変数の値の配列を返します。

[PARAM] key:
キーの名前を指定します。 to_str で文字列化されます。
inspect -> String[permalink][rdoc]

ENV オブジェクトを文字列化します。 Hash#inspect と同じように動作します。

invert -> Hash[permalink][rdoc]

環境変数の値をキー、名前を値とした Hash を生成して返します。

keys -> [String][permalink][rdoc]

全環境変数の名前の配列を返します。

length -> Fixnum[permalink][rdoc]
size -> Fixnum

環境変数の数を返します。

rehash -> nil[permalink][rdoc]

何もしません。nilを返します。

reject -> Enumerable::Enumerator[permalink][rdoc]
reject {|key, value| ... } -> Hash

環境変数のうち、ブロックを評価した値が真であるものをとり除きます。 Enumerable#reject と異なり Hash を返します。また、とり除いた結果 は実際の環境変数に影響を与えません。

replace(hash) -> ENV[permalink][rdoc]

環境変数を hash と同じ内容に変更します。 self を返します。

[PARAM] hash:
キーと値の対応関係を指定します。 to_hash でハッシュに変換されます。
select -> Enumerable::Enumerator[permalink][rdoc]
select {|key, value| ... } -> [[String, String]]

環境変数名と値についてブロックを評価し、真を返したものを集めた配列を返 します。配列の各要素は配列となり、第一要素が変数名、第二要素が値になり ます。

shift -> [String, String][permalink][rdoc]

環境変数を一つ取り除いて、それを名前と値の組の配列で返します。 環境変数が一つも設定されていなければ nil を返します。

to_a -> [[String, String]][permalink][rdoc]

環境変数から [変数名, 値] となる 2 要素の配列の配列を生成します。

to_hash -> Hash[permalink][rdoc]

環境変数の名前をキーとし、対応する値をもつハッシュを返します。

to_s -> String[permalink][rdoc]

環境変数を文字列化します。 Hash#to_s と同じように動作します。

update(other) -> ENV[permalink][rdoc]

ハッシュ other の内容を環境変数にマージします。重複するキー に対応する値は other の内容で上書きされます。

self を返します。

[PARAM] other:
上書きするハッシュを指定します。
values -> [String][permalink][rdoc]

環境変数の全値の配列を返します。

values_at(*key) -> [String][permalink][rdoc]

引数で指定されたキー(環境変数名)に対応する値の配列を返します。存在 しないキーに対しては nil が対応します。 ENV.indexesENV.indices と同じです。

例:

ENV.update({'FOO','foo', 'BAR','bar'})
p ENV.values_at(*%w(FOO BAR BAZ))   # => ["foo", "bar", nil]
[PARAM] key:
環境変数名を指定します。 to_str で文字列化されます。