環境変数を表すオブジェクト。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
ruby 1.8 feature:
また、ENV で得られる文字列は freeze されています。
p ENV['TERM'].frozen? # => true
ENV[key]key に対応する環境変数の値を返します。該当する環境変数が存在
しない時には nil を返します。
ENV[key]=valueENV.store(key, value)key に対応する環境変数の値を value にします。
value が nil の時、key に対応する環境変数を取り
除きます。
ENV.clear環境変数をすべてクリアします。self を返します。
ENV.delete(key)ENV.delete(key) {|key| ... }key に対応する環境変数を取り除きます。取り除かれた環境変数の
値を返 しますが、key に対応する環境変数が存在しない時には
nil を返します。
ブロックが与えられた時には key にマッチするものがなかった時 に評価されます。
ENV.reject{|key, value| ... }ブロックを評価した値が真である時、要素を削除します。
Enumerable#reject と異なり Hash を返
します。
ENV.delete_if {|key, value| ... }ENV.reject!{|key, value| ... }key と value を引数としてブロックを評価した値が真であ る時、環境変数を削除します。
reject! は要素に変化がなければ nil を返します。
ENV.each {|key, value| ... }ENV.each_pair {|key, value| ... }key と value を引数としてブロックを評価します。
ENV.each_key {|key| ... }key を引数としてブロックを評価します。
ENV.each_value {|value| ... }value を引数としてブロックを評価します。
ENV.empty?環境変数がひとつも定義されていない時真を返します。
ENV.fetch(key,[default])ENV.fetch(key) {|key| ... }key に関連づけられた値を返します。該当するキーが登録されてい ない時には、引数 default が与えられていればその値を、ブロッ クが与えられていればそのブロックを評価した値を返します。そのいずれ でもなければ例外 IndexError が発生します。
ENV.has_key?(val)ENV.include?(val)ENV.key?(val)ENV.member?(val)val で指定される環境変数が存在する時真を返します。
ENV.has_value?(value)ENV.value?(value)value を値として持つ環境変数が存在する時真を返します。
ENV.index(val)val に対応するキーを返します。対応する要素が存在しない時には
nil を返します。
ENV.indexes(key_1, ... , key_n) ((<obsolete>))ENV.indices(key_1, ... , key_n) ((<obsolete>))引数で指定された名前の環境変数の値の配列を返します。
ruby 1.8 feature: このメソッドは version 1.8 では、obsolete です。 使用すると警告メッセージが表示されます。 代わりに ENV.values_at を使用します。
ENV.invert環境変数の値をキー、名前を値とした Hash を生成して返します。
ENV.keys全環境変数の名前の配列を返します。
ENV.lengthENV.size環境変数の数を返します。
ENV.rehash何もしません。nilを返します。
ENV.replace(hash)環境変数を hash に設定します。self を返します。
ENV.shift環境変数を一つ取り除いて、それを名前と値の組の配列で返します。 環境変数が一つも設定されていなければ nil を返します。
ENV.to_a環境変数から [key,value] なる 2 要素の配列の配列を生成します。
ENV.to_hash環境変数の名前と値のハッシュを返します。
ENV.update(other)ハッシュ other の内容を環境変数にマージします。重複するキー に対応する値は other の内容で上書きされます。
self を返します。
ENV.values環境変数の全値の配列を返します。
ENV.values_at(key_1, ..., key_n)引数で指定されたキー(環境変数名)に対応する値の配列を返します。存在 しないキーに対しては nil が対応します。ENV.indexes と ENV.indices と同じです。
ENV.update({'FOO','foo', 'BAR','bar'})
p ENV.values_at(*%w(FOO BAR BAZ)) # => ["foo", "bar", nil]