るりまサーチ (Ruby 2.4.0)

最速Rubyリファレンスマニュアル検索!
92件ヒット [1-92件を表示] (0.064秒)
トップページ > バージョン:2.4.0[x] > ライブラリ:ビルトイン[x] > クエリ:NIL[x] > クエリ:|[x] > 種類:特異メソッド[x]

別のキーワード

  1. _builtin nil?
  2. object nil?
  3. nilclass nil?
  4. object nil
  5. _builtin nil

クラス

モジュール

オブジェクト

キーワード

検索結果

IO.read(path, length = nil, **opt) -> String | nil (1042.0)

path で指定されたファイルを offset 位置から length バイト分読み込んで返します。

path で指定されたファイルを offset 位置から
length バイト分読み込んで返します。

既に EOF に達している場合は nil を返します。ただし、length に nil か 0 が指定されている場合は、空文字列 "" を返します。例えば、IO.read(空ファイル) は "" を返します。

引数 length が指定された場合はバイナリ読み込みメソッド、そうでない場合はテキスト読み込みメソッドとして
動作します。

Kernel.#open と同様 path の先頭が "|" ならば、"|" に続くコマンドの出力を読み取ります。

@param path ファイル名を...

IO.read(path, length = nil, offset = 0, **opt) -> String | nil (1042.0)

path で指定されたファイルを offset 位置から length バイト分読み込んで返します。

path で指定されたファイルを offset 位置から
length バイト分読み込んで返します。

既に EOF に達している場合は nil を返します。ただし、length に nil か 0 が指定されている場合は、空文字列 "" を返します。例えば、IO.read(空ファイル) は "" を返します。

引数 length が指定された場合はバイナリ読み込みメソッド、そうでない場合はテキスト読み込みメソッドとして
動作します。

Kernel.#open と同様 path の先頭が "|" ならば、"|" に続くコマンドの出力を読み取ります。

@param path ファイル名を...

IO.select(reads, writes = [], excepts = [], timeout = nil) -> [[IO]] | nil (973.0)

select(2) を実行します。

select(2) を実行します。

与えられた入力/出力/例外待ちの IO オブジェクトの中から準備ができたものを
それぞれ配列にして、配列の配列として返します。
タイムアウトした時には nil を返します。

@param reads 入力待ちする IO オブジェクトの配列を渡します。

@param writes 出力待ちする IO オブジェクトの配列を渡します。

@param excepts 例外待ちする IO オブジェクトの配列を渡します。

@param timeout タイムアウトまでの時間を表す数値または nil を指定します。数値で指定したときの単位は秒です。nil を...

IO.binread(path, length = nil, offset = 0) -> String | nil (919.0)

path で指定したファイルを open し、offset の所まで seek し、 length バイト読み込みます。

path で指定したファイルを open し、offset の所まで seek し、
length バイト読み込みます。

Kernel.#open と同様 path の先頭が "|" ならば、"|" に続くコマンドの出力を読み取ります。

length を省略するとファイルの末尾まで読み込みます。

ファイルを開くときの mode は "rb:ASCII-8BIT" です。

//emlist[例][ruby]{
IO.write("testfile", "This is line one\nThis is line two\nThis is line three\nAnd so on......

IO.foreach(path, rs = $/, chomp: false) {|line| ... } -> nil (808.0)

path で指定されたファイルの各行を引数としてブロックを繰り返し実行します。 path のオープンに成功すれば nil を返します。

path で指定されたファイルの各行を引数としてブロックを繰り返し実行します。
path のオープンに成功すれば nil を返します。

ブロックが与えられなかった場合は、path で指定されたファイルの各行を繰り返す
Enumerator オブジェクトを生成して返します。

テキスト読み込みメソッドとして動作します。

path が空ファイルの場合、何もせずに nil を返します。
Kernel.#open と同様 path の先頭が "|" ならば、"|" に続くコマンドの出力を読み取ります。

@param path ファイル名を表す文字列か "|コマンド名" を指定します。

@pa...

絞り込み条件を変える

Regexp.last_match(nth) -> String | nil (775.0)

整数 nth が 0 の場合、マッチした文字列を返します ($&)。それ以外では、nth 番目の括弧にマッチ した部分文字列を返します($1,$2,...)。 対応する括弧がない場合やマッチしなかった場合には nil を返し ます。

整数 nth が 0 の場合、マッチした文字列を返します
($&)。それ以外では、nth 番目の括弧にマッチ
した部分文字列を返します($1,$2,...)。
対応する括弧がない場合やマッチしなかった場合には nil を返し
ます。

//emlist[例][ruby]{
/(.)(.)/ =~ "ab"
p Regexp.last_match # => #<MatchData:0x4599e58>
p Regexp.last_match(0) # => "ab"
p Regexp.last_match(1) # => "a"
p Regexp.last_match(2) ...

IO.read(path, **opt) -> String | nil (742.0)

path で指定されたファイルを offset 位置から length バイト分読み込んで返します。

path で指定されたファイルを offset 位置から
length バイト分読み込んで返します。

既に EOF に達している場合は nil を返します。ただし、length に nil か 0 が指定されている場合は、空文字列 "" を返します。例えば、IO.read(空ファイル) は "" を返します。

引数 length が指定された場合はバイナリ読み込みメソッド、そうでない場合はテキスト読み込みメソッドとして
動作します。

Kernel.#open と同様 path の先頭が "|" ならば、"|" に続くコマンドの出力を読み取ります。

@param path ファイル名を...

ENV.reject! {|key, value| ... } -> ENV | nil (730.0)

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

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

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

//emlist[][ruby]{
ENV['FOO'] = 'bar'
ENV.delete_if { |key, value| key == 'FOO' && value == 'bar' } # => ENV
ENV.reject! { |key, value| key == 'FOO' && value == 'bar' } # => nil
//}

Enumerator.new(size=nil) {|y| ... } -> Enumerator (727.0)

Enumerator オブジェクトを生成して返します。与えられたブロックは Enumerator::Yielder オブジェクトを 引数として実行されます。

Enumerator オブジェクトを生成して返します。与えられたブロックは Enumerator::Yielder オブジェクトを
引数として実行されます。

生成された Enumerator オブジェクトに対して each を呼ぶと、この生成時に指定されたブロックを
実行し、Yielder オブジェクトに対して << メソッドが呼ばれるたびに、
each に渡されたブロックが繰り返されます。

new に渡されたブロックが終了した時点で each の繰り返しが終わります。
このときのブロックの返り値が each の返り値となります。

@param size 生成する Enumerator...

ENV.delete(key) -> String | nil (709.0)

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

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

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

@param key 環境変数名を指定します。文字列で指定します。文字列で指定しま
す。文字列以外のオブジェクトを指定した場合は to_str メソッド
による暗黙の型変換を試みます。

//emlist[][ruby]{
ENV['TEST'] = 'foo'
ENV.delete('TEST') # => "...

絞り込み条件を変える

ENV.delete(key) {|key| ... } -> String | nil (709.0)

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

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

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

@param key 環境変数名を指定します。文字列で指定します。文字列で指定しま
す。文字列以外のオブジェクトを指定した場合は to_str メソッド
による暗黙の型変換を試みます。

//emlist[][ruby]{
ENV['TEST'] = 'foo'
ENV.delete('TEST') # => "...

Encoding.compatible?(obj1, obj2) -> Encoding | nil (700.0)

2つのオブジェクトのエンコーディングに関する互換性をチェックします。 互換性がある場合はそのエンコーディングを、 ない場合は nil を返します。

2つのオブジェクトのエンコーディングに関する互換性をチェックします。
互換性がある場合はそのエンコーディングを、
ない場合は nil を返します。

引数が両方とも文字列である場合、互換性があるならば
その文字列を結合できます。この場合返り値のエンコーディングは
結合した文字列が取るであろう Encoding オブジェクトを返します。

//emlist[例][ruby]{
Encoding.compatible?("\xa1".force_encoding("iso-8859-1"), "b")
#=> #<Encoding:ISO-8859-1>

Encoding.compatible?...

String.try_convert(obj) -> String | nil (700.0)

obj を String に変換しようと試みます。変換には Object#to_str メソッ ドが使われます。変換後の文字列を返すか、何らかの理由により変換できなかっ た場合は nil が返されます。

obj を String に変換しようと試みます。変換には Object#to_str メソッ
ドが使われます。変換後の文字列を返すか、何らかの理由により変換できなかっ
た場合は nil が返されます。

@param obj 変換する任意のオブジェクト
@return 変換後の文字列または nil

//emlist[例][ruby]{
String.try_convert("str") # => "str"
String.try_convert(/re/) # => nil
//}

IO.try_convert(obj) -> IO | nil (682.0)

obj を to_io メソッドによって IO オブジェクトに変換します。 変換できなかった場合は nil を返します。

obj を to_io メソッドによって IO オブジェクトに変換します。
変換できなかった場合は nil を返します。

IO.try_convert(STDOUT) # => STDOUT
IO.try_convert("STDOUT") # => nil

Encoding::Converter.asciicompat_encoding(encoding) -> Encoding | nil (676.0)

同じ文字集合を持つ ASCII 互換エンコーディングを返します。

同じ文字集合を持つ ASCII 互換エンコーディングを返します。

@param string エンコーディング名
@param encoding エンコーディングオブジェクト
@return ASCII 互換エンコーディングのオブジェクトか nil

引数とエンコーディングと同じ文字集合を持つ ASCII 互換エンコーディングを返します。引数と戻り値、2 つのエンコーディング間では変換しても未定義文字の例外は発生しません。
引数が ASCII 互換エンコーディングである場合や、エンコーディングでない場合は nil を返します。

//emlist[][ruby]{
Encoding::Con...

絞り込み条件を変える

Encoding::Converter.asciicompat_encoding(string) -> Encoding | nil (676.0)

同じ文字集合を持つ ASCII 互換エンコーディングを返します。

同じ文字集合を持つ ASCII 互換エンコーディングを返します。

@param string エンコーディング名
@param encoding エンコーディングオブジェクト
@return ASCII 互換エンコーディングのオブジェクトか nil

引数とエンコーディングと同じ文字集合を持つ ASCII 互換エンコーディングを返します。引数と戻り値、2 つのエンコーディング間では変換しても未定義文字の例外は発生しません。
引数が ASCII 互換エンコーディングである場合や、エンコーディングでない場合は nil を返します。

//emlist[][ruby]{
Encoding::Con...

ENV.index(val) -> String | nil (670.0)

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

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

ENV.index は obsolete です。使用すると警告メッセージが表示されます。
ENV.key を使用してください。

@param val 値を指定します。文字列で指定します。文字
列以外のオブジェクトを指定した場合は to_str メソッドによる暗
黙の型変換を試みます。

ENV.key(val) -> String | nil (670.0)

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

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

ENV.index は obsolete です。使用すると警告メッセージが表示されます。
ENV.key を使用してください。

@param val 値を指定します。文字列で指定します。文字
列以外のオブジェクトを指定した場合は to_str メソッドによる暗
黙の型変換を試みます。

Enumerator::Lazy.new(obj, size=nil) {|yielder, *values| ... } -> Enumerator::Lazy (670.0)

Lazy Enumerator を作成します。Enumerator::Lazy#force メソッドなどに よって列挙が実行されたとき、objのeachメソッドが実行され、値が一つずつ ブロックに渡されます。ブロックは、yielder を使って最終的に yield される値を 指定できます。

Lazy Enumerator を作成します。Enumerator::Lazy#force メソッドなどに
よって列挙が実行されたとき、objのeachメソッドが実行され、値が一つずつ
ブロックに渡されます。ブロックは、yielder を使って最終的に yield される値を
指定できます。

//emlist[Enumerable#filter_map と、その遅延評価版を定義する例][ruby]{
module Enumerable
def filter_map(&block)
map(&block).compact
end
end

class Enumerator::...

ENV.shift -> [String, String] | nil (664.0)

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

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

絞り込み条件を変える

Encoding.default_internal -> Encoding | nil (664.0)

既定の内部エンコーディングを返します。デフォルトでは nil です。

既定の内部エンコーディングを返します。デフォルトでは nil です。

標準入出力、コマンドライン引数、open で開くファイルなどで、内部エンコーディングが指定されていない場合の既定値として利用されます。

String#encode と String#encode! は、引数に Encoding が与えられていない場合、 default_internal を使用します。

文字列リテラルを作成した場合、エンコーディングには default_internal ではなく __ENCODING__ 特殊変数で参照できるスクリプトエンコーディングが使用されます。

default_internal...

Encoding.locale_charmap -> String | nil (664.0)

ロケールエンコーディングを決定するために用いる、locale charmap 名を返します。nl_langinfo 等がない環境では nil を、miniruby では ASCII_8BIT を返します。

ロケールエンコーディングを決定するために用いる、locale charmap 名を返します。nl_langinfo 等がない環境では nil を、miniruby では ASCII_8BIT を返します。

//emlist[Debian GNU/Linux + LANG=C][ruby]{
Encoding.locale_charmap #=> "ANSI_X3.4-1968"
//}

//emlist[LANG=ja_JP.EUC-JP][ruby]{
Encoding.locale_charmap #=> "EUC-JP"
//}

//emlist[SunOS 5 + LANG=C]...

File.world_readable?(path) -> Integer | nil (664.0)

path が全てのユーザから読めるならばそのファイルのパーミッションを表す 整数を返します。そうでない場合は nil を返します。

path が全てのユーザから読めるならばそのファイルのパーミッションを表す
整数を返します。そうでない場合は nil を返します。

整数の意味はプラットフォームに依存します。

@param path パスを表す文字列か IO オブジェクトを指定します。

//emlist[例][ruby]{
m = File.world_readable?("/etc/passwd")
"%o" % m # => "644"
//}

GC::Profiler.raw_data -> [Hash, ...] | nil (664.0)

GC のプロファイル情報を GC の発生ごとに Hash の配列 (:GC_INVOKE_TIME が早いもの順)で返します。GC::Profiler が有効になっ ていない場合は nil を返します。

GC のプロファイル情報を GC の発生ごとに Hash の配列
(:GC_INVOKE_TIME が早いもの順)で返します。GC::Profiler が有効になっ
ていない場合は nil を返します。

例:

GC::Profiler.enable
GC.start
GC::Profiler.raw_data
# => [
{
:GC_TIME=>1.3000000000000858e-05,
:GC_INVOKE_TIME=>0.010634999999999999,
:HEAP_USE_SIZE=>289640,
...

Regexp.compile(string, option = nil, code = nil) -> Regexp (658.0)

文字列 string をコンパイルして正規表現オブジェクトを生成して返します。

文字列 string をコンパイルして正規表現オブジェクトを生成して返します。

第一引数が正規表現であれば第一引数を複製して返します。第二、第三引数は警告の上無視されます。

@param string 正規表現を文字列として与えます。

@param option Regexp::IGNORECASE, Regexp::MULTILINE,
Regexp::EXTENDED
の論理和を指定します。
Integer 以外であれば真偽値の指定として見なされ
、真(nil, fals...

絞り込み条件を変える

Regexp.new(string, option = nil, code = nil) -> Regexp (658.0)

文字列 string をコンパイルして正規表現オブジェクトを生成して返します。

文字列 string をコンパイルして正規表現オブジェクトを生成して返します。

第一引数が正規表現であれば第一引数を複製して返します。第二、第三引数は警告の上無視されます。

@param string 正規表現を文字列として与えます。

@param option Regexp::IGNORECASE, Regexp::MULTILINE,
Regexp::EXTENDED
の論理和を指定します。
Integer 以外であれば真偽値の指定として見なされ
、真(nil, fals...

Array.try_convert(obj) -> Array | nil (652.0)

to_ary メソッドを用いて obj を配列に変換しようとします。

to_ary メソッドを用いて obj を配列に変換しようとします。

何らかの理由で変換できないときには nil を返します。
このメソッドは引数が配列であるかどうかを調べるために使えます。

//emlist[例][ruby]{
Array.try_convert([1]) # => [1]
Array.try_convert("1") # => nil

if tmp = Array.try_convert(arg)
# the argument is an array
elsif tmp = String.try_convert(arg)
# the argument ...

Dir.glob(pattern, flags = 0) {|file| ...} -> nil (652.0)

ワイルドカードの展開を行い、 パターンにマッチするファイル名を文字列の配列として返します。 パターンにマッチするファイルがない場合は空の配列を返します。

ワイルドカードの展開を行い、
パターンにマッチするファイル名を文字列の配列として返します。
パターンにマッチするファイルがない場合は空の配列を返します。

ブロックが与えられたときはワイルドカードにマッチしたファイルを
引数にそのブロックを 1 つずつ評価して nil を返します

@param pattern パターンを文字列か配列で指定します。
配列を指定すると複数のパターンを指定できます。
パターンを文字列で指定する場合、パターンを "\0" で区切って
1 度に複数のパターンを指定することもでき...

Hash.try_convert(obj) -> Hash | nil (652.0)

to_hash メソッドを用いて obj をハッシュに変換しようとします。

to_hash メソッドを用いて obj をハッシュに変換しようとします。

何らかの理由で変換できないときには nil を返します。
このメソッドは引数がハッシュであるかどうかを調べるために使えます。

//emlist[][ruby]{
Hash.try_convert({1=>2}) # => {1=>2}
Hash.try_convert("1=>2") # => nil
//}

Regexp.try_convert(obj) -> Regexp | nil (652.0)

obj を to_regexp メソッドで Regexp オブジェクトに変換しようと 試みます。

obj を to_regexp メソッドで Regexp オブジェクトに変換しようと
試みます。

変換に成功した場合はそれを返し、失敗時には nil を返します。

//emlist[例][ruby]{
Regexp.try_convert(/re/) # => /re/
Regexp.try_convert("re") # => nil
//}

絞り込み条件を変える

Dir.foreach(path) {|file| ...} -> nil (640.0)

ディレクトリ path の各エントリを表す文字列を引数として、ブロックを評価します。

ディレクトリ path の各エントリを表す文字列を引数として、ブロックを評価します。

ブロックが与えられなかった場合、各エントリを文字列として保持する
Enumerator オブジェクトを返します。

@param path ディレクトリのパスを文字列で指定します。

@param encoding ディレクトリのエンコーディングを文字列か
Encoding オブジェクトで指定します。省略した場合は
ファイルシステムのエンコーディングと同じになります。

@raise Errno::EXXX 失敗した場合に発生します。

//...

Dir.foreach(path, encoding: Encoding.find("filesystem")) {|file| ...} -> nil (640.0)

ディレクトリ path の各エントリを表す文字列を引数として、ブロックを評価します。

ディレクトリ path の各エントリを表す文字列を引数として、ブロックを評価します。

ブロックが与えられなかった場合、各エントリを文字列として保持する
Enumerator オブジェクトを返します。

@param path ディレクトリのパスを文字列で指定します。

@param encoding ディレクトリのエンコーディングを文字列か
Encoding オブジェクトで指定します。省略した場合は
ファイルシステムのエンコーディングと同じになります。

@raise Errno::EXXX 失敗した場合に発生します。

//...

ENV.select! {|key, value| ... } -> ENV | nil (640.0)

キーと値を引数としてブロックを評価した結果が真であ るような要素を環境変数に残します。

キーと値を引数としてブロックを評価した結果が真であ
るような要素を環境変数に残します。

keep_if は常に self を返します。
select! はオブジェクトが変更された場合に self を、
されていない場合に nil を返します。

ブロックが省略された場合には Enumerator を返します。

@see ENV.delete_if,ENV.reject!, Hash#keep_if, Hash#select!,

Dir.home -> String | nil (622.0)

現在のユーザまたは指定されたユーザのホームディレクトリを返します。

現在のユーザまたは指定されたユーザのホームディレクトリを返します。

Dir.home や Dir.home("root") は
File.expand_path("~") や File.expand_path("~root") と
ほぼ同じです。

//emlist[例][ruby]{
Dir.home # => "/home/vagrant"
Dir.home("root") # => "/root"
//}

@see File.expand_path

Dir.home(user) -> String | nil (622.0)

現在のユーザまたは指定されたユーザのホームディレクトリを返します。

現在のユーザまたは指定されたユーザのホームディレクトリを返します。

Dir.home や Dir.home("root") は
File.expand_path("~") や File.expand_path("~root") と
ほぼ同じです。

//emlist[例][ruby]{
Dir.home # => "/home/vagrant"
Dir.home("root") # => "/root"
//}

@see File.expand_path

絞り込み条件を変える

Process.fork -> Integer | nil (622.0)

子プロセスを生成します。関数 Kernel.#fork と同じです。

子プロセスを生成します。関数 Kernel.#fork と同じです。

@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に発生します。

@see fork(2)

Process.fork { ... } -> Integer | nil (622.0)

子プロセスを生成します。関数 Kernel.#fork と同じです。

子プロセスを生成します。関数 Kernel.#fork と同じです。

@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に発生します。

@see fork(2)

ENV.assoc(key) -> Array | nil (616.0)

自身が与えられたキーに対応する要素を持つとき、見つかった要素のキーと値のペアを 配列として返します。

自身が与えられたキーに対応する要素を持つとき、見つかった要素のキーと値のペアを
配列として返します。

@param key 検索するキーを指定します。

@see Hash#assoc

ENV.rassoc(value) -> Array | nil (616.0)

自身が与えられた値に対応する要素を持つとき、見つかった要素のキーと値のペアを 配列として返します。

自身が与えられた値に対応する要素を持つとき、見つかった要素のキーと値のペアを
配列として返します。

@param value 検索する値を指定します。

@see Hash#rassoc

File.size?(path) -> Integer | nil (616.0)

FileTest.#size? と同じです。

FileTest.#size? と同じです。

@param path パスを表す文字列か IO オブジェクトを指定します。

絞り込み条件を変える

ENV.delete_if {|key, value| ... } -> ENV (430.0)

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

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

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

//emlist[][ruby]{
ENV['FOO'] = 'bar'
ENV.delete_if { |key, value| key == 'FOO' && value == 'bar' } # => ENV
ENV.reject! { |key, value| key == 'FOO' && value == 'bar' } # => nil
//}

IO.popen("-", mode = "r", opt={}) {|io| ... } -> object (427.0)

第一引数に文字列 "-" が指定された時、fork(2) を 行い子プロセスの標準入出力との間にパイプラインを確立します。 親プロセスでは IO オブジェクトを返し、子プロセスでは nil を返します。

第一引数に文字列 "-" が指定された時、fork(2) を
行い子プロセスの標準入出力との間にパイプラインを確立します。
親プロセスでは IO オブジェクトを返し、子プロセスでは
nil を返します。

io = IO.popen("-", "r+")
if io # parent
io.puts "foo"
p io.gets # => "child output: foo\n"
io.close
else # child
s = gets
print "child output: " + s
...

IO.popen(env, "-", mode = "r", opt={}) {|io| ... } -> object (427.0)

第一引数に文字列 "-" が指定された時、fork(2) を 行い子プロセスの標準入出力との間にパイプラインを確立します。 親プロセスでは IO オブジェクトを返し、子プロセスでは nil を返します。

第一引数に文字列 "-" が指定された時、fork(2) を
行い子プロセスの標準入出力との間にパイプラインを確立します。
親プロセスでは IO オブジェクトを返し、子プロセスでは
nil を返します。

io = IO.popen("-", "r+")
if io # parent
io.puts "foo"
p io.gets # => "child output: foo\n"
io.close
else # child
s = gets
print "child output: " + s
...

IO.popen([env = {}, [cmdname, arg0], *args, execopt={}], mode = "r", opt={}) {|f| ... } -> object (412.0)

サブプロセスを実行し、そのプロセスの標準入出力 との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。

サブプロセスを実行し、そのプロセスの標準入出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。

p io = IO.popen("cat", "r+") # => #<IO:fd 4>
io.puts "foo"
io.close_write
p io.gets # => "foo\n"

サブプロセスを指定する方法は2通りあります。文字列を指定する場合と配列を指定する場合です。
文字列の場合は、シェルを経由して子プロセスを実行し、
配列の場合は、シェルを経由せずに子プロセスを実行します。

...

IO.popen([env = {}, cmdname, *args, execopt={}], mode = "r", opt={}) {|f| ... } -> object (412.0)

サブプロセスを実行し、そのプロセスの標準入出力 との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。

サブプロセスを実行し、そのプロセスの標準入出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。

p io = IO.popen("cat", "r+") # => #<IO:fd 4>
io.puts "foo"
io.close_write
p io.gets # => "foo\n"

サブプロセスを指定する方法は2通りあります。文字列を指定する場合と配列を指定する場合です。
文字列の場合は、シェルを経由して子プロセスを実行し、
配列の場合は、シェルを経由せずに子プロセスを実行します。

...

絞り込み条件を変える

IO.popen(env = {}, [[cmdname, arg0], *args, execopt={}], mode = "r", opt={}) {|f| ... } -> object (412.0)

サブプロセスを実行し、そのプロセスの標準入出力 との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。

サブプロセスを実行し、そのプロセスの標準入出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。

p io = IO.popen("cat", "r+") # => #<IO:fd 4>
io.puts "foo"
io.close_write
p io.gets # => "foo\n"

サブプロセスを指定する方法は2通りあります。文字列を指定する場合と配列を指定する場合です。
文字列の場合は、シェルを経由して子プロセスを実行し、
配列の場合は、シェルを経由せずに子プロセスを実行します。

...

IO.popen(env = {}, [cmdname, *args, execopt={}], mode = "r", opt={}) {|f| ... } -> object (412.0)

サブプロセスを実行し、そのプロセスの標準入出力 との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。

サブプロセスを実行し、そのプロセスの標準入出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。

p io = IO.popen("cat", "r+") # => #<IO:fd 4>
io.puts "foo"
io.close_write
p io.gets # => "foo\n"

サブプロセスを指定する方法は2通りあります。文字列を指定する場合と配列を指定する場合です。
文字列の場合は、シェルを経由して子プロセスを実行し、
配列の場合は、シェルを経由せずに子プロセスを実行します。

...

IO.popen(env = {}, command, mode = "r", opt={}) {|f| ... } -> object (412.0)

サブプロセスを実行し、そのプロセスの標準入出力 との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。

サブプロセスを実行し、そのプロセスの標準入出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。

p io = IO.popen("cat", "r+") # => #<IO:fd 4>
io.puts "foo"
io.close_write
p io.gets # => "foo\n"

サブプロセスを指定する方法は2通りあります。文字列を指定する場合と配列を指定する場合です。
文字列の場合は、シェルを経由して子プロセスを実行し、
配列の場合は、シェルを経由せずに子プロセスを実行します。

...

Class.new(superclass = Object) {|klass| ... } -> Class (367.0)

新しく名前の付いていない superclass のサブクラスを生成します。

新しく名前の付いていない superclass のサブクラスを生成します。

名前のないクラスは、最初に名前を求める際に代入されている定数名を検
索し、見つかった定数名をクラス名とします。

//emlist[例][ruby]{
p foo = Class.new # => #<Class:0x401b90f8>
p foo.name # => nil
Foo = foo # ここで p foo すれば "Foo" 固定
Bar = foo
p foo.name # => "Bar" ("Foo" になるか "Bar" になるかは...

ENV.reject {|key, value| ... } -> Hash (367.0)

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

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

//emlist[][ruby]{
ENV['TEST'] = 'foo'
result = ENV.reject { |key, value| key == 'TEST' }
result['TEST'] # => nil
ENV['TEST'] # => "foo"
//}

絞り込み条件を変える

Fiber.new {|obj| ... } -> Fiber (367.0)

与えられたブロックとともにファイバーを生成して返します。 ブロックは Fiber#resume に与えられた引数をその引数として実行されます。

与えられたブロックとともにファイバーを生成して返します。
ブロックは Fiber#resume に与えられた引数をその引数として実行されます。

ブロックが終了した場合は親にコンテキストが切り替わります。
その時ブロックの評価値が返されます。

//emlist[例:][ruby]{
a = nil
f = Fiber.new do |obj|
a = obj
:hoge
end

b = f.resume(:foo)
p a #=> :foo
p b #=> :hoge
//}

IO.binwrite(path, string, offset=nil) -> Integer (367.0)

path で指定されるファイルを開き、string を書き込み、 閉じます。

path で指定されるファイルを開き、string を書き込み、
閉じます。

ファイルを開くときの mode が "rb:ASCII-8BIT" で、バイナリモードが有効
である点以外は IO.write と同じです。

Kernel.#open と同様 path の先頭が "|" ならば、"|" に続くコマンドを実行し、コマンドの出力を標準出力に書き込みます。

offset を指定するとその位置までシークします。

offset を指定しないと、書き込みの末尾でファイルを
切り捨てます。

@param path ファイル名文字列
@param string 書き込む文字列
@param...

IO.open(fd, mode = "r", **opts) {|io| ... } -> object (367.0)

オープン済みのファイルディスクリプタ fd に対する新しい IO オブジェクトを生成して返します。

オープン済みのファイルディスクリプタ fd に対する新しい
IO オブジェクトを生成して返します。

IO.open にブロックが与えられた場合、IO オブジェクトを生成しそれを引数としてブロックを
実行します。ブロックの終了とともに fd はクローズされます。ブロックの結果を返します。
IO.new, IO.for_fd はブロックを受け付けません。

=== キーワード引数
このメソッドは以下のキーワード引数を利用できます。
* :mode mode引数と同じ意味です
* :external_encoding 外部エンコーディング。"-" はデフォルト外部エンコーディングの
...

Struct.new(*args) {|subclass| block } -> Class (355.0)

Struct クラスに新しいサブクラスを作って、それを返します。

Struct クラスに新しいサブクラスを作って、それを返します。

サブクラスでは構造体のメンバに対するアクセスメソッドが定義されています。

//emlist[例][ruby]{
dog = Struct.new("Dog", :name, :age)
fred = dog.new("fred", 5)
fred.age = 6
printf "name:%s age:%d", fred.name, fred.age
#=> "name:fred age:6" を出力します
//}

実装の都合により、クラス名の省略は後づけの機能でした。
メンバ名に String を指定できるのは後方互換...

Hash.new {|hash, key| ... } -> Hash (352.0)

空の新しいハッシュを生成します。ブロックの評価結果がデフォルト値になりま す。設定したデフォルト値はHash#default_procで参照できます。

空の新しいハッシュを生成します。ブロックの評価結果がデフォルト値になりま
す。設定したデフォルト値はHash#default_procで参照できます。

値が設定されていないハッシュ要素を参照するとその都度ブロックを
実行し、その結果を返します。
ブロックにはそのハッシュとハッシュを参照したときのキーが渡されます。

@raise ArgumentError ブロックと通常引数を同時に与えると発生します。

//emlist[例][ruby]{
# ブロックではないデフォルト値は全部同一のオブジェクトなので、
# 破壊的変更によって他のキーに対応する値も変更されます。
h = Hash.new...

絞り込み条件を変える

Module.new {|mod| ... } -> Module (349.0)

名前の付いていないモジュールを新しく生成して返します。

名前の付いていないモジュールを新しく生成して返します。

ブロックが与えられると生成したモジュールをブロックに渡し、
モジュールのコンテキストでブロックを実行します。

//emlist[例][ruby]{
mod = Module.new
mod.module_eval {|m|
# ...
}
mod
//}

と同じです。
ブロックの実行は Module#initialize が行います。

ブロックを与えた場合も生成したモジュールを返します。

このメソッドで生成されたモジュールは、
最初に名前が必要になったときに名前が決定します。
モジュールの名前は、
そのモジュールが代入され...

ENV.keep_if {|key, value| ... } -> ENV (340.0)

キーと値を引数としてブロックを評価した結果が真であ るような要素を環境変数に残します。

キーと値を引数としてブロックを評価した結果が真であ
るような要素を環境変数に残します。

keep_if は常に self を返します。
select! はオブジェクトが変更された場合に self を、
されていない場合に nil を返します。

ブロックが省略された場合には Enumerator を返します。

@see ENV.delete_if,ENV.reject!, Hash#keep_if, Hash#select!,

Array.new(size) {|index| ... } -> Array (337.0)

長さ size の配列を生成し、各要素のインデックスを引数としてブロックを実行し、 各要素の値をブロックの評価結果に設定します。

長さ size の配列を生成し、各要素のインデックスを引数としてブロックを実行し、
各要素の値をブロックの評価結果に設定します。

ブロックは要素毎に実行されるので、全要素をあるオブジェクトの複製にすることができます。

@param size 配列の長さを数値で指定します。

//emlist[例][ruby]{
ary = Array.new(3){|index| "hoge#{index}"}
p ary #=> ["hoge0", "hoge1", "hoge2"]
//}

//emlist[例][ruby]{
ary = Array.ne...

Thread.pass -> nil (331.0)

他のスレッドに実行権を譲ります。実行中のスレッドの状態を変えずに、 他の実行可能状態のスレッドに制御を移します。

他のスレッドに実行権を譲ります。実行中のスレッドの状態を変えずに、
他の実行可能状態のスレッドに制御を移します。

Thread.new do
(1..3).each{|i|
p i
Thread.pass
}
exit
end

loop do
Thread.pass
p :main
end

#=>
1
:main
2
:main
3
:main

Array.new(size = 0, val = nil) -> Array (322.0)

長さ size の配列を生成し、各要素を val で初期化して返します。

長さ size の配列を生成し、各要素を val で初期化して返します。

要素毎に val が複製されるわけではないことに注意してください。
全要素が同じオブジェクト val を参照します。
後述の例では、配列の各要素は全て同一の文字列を指します。

@param size 配列の長さを数値で指定します。

@param val 配列の要素の値を指定します。

//emlist[例][ruby]{
ary = Array.new(3, "foo")
p ary #=> ["foo", "foo", "foo"]
ary[0].capitalize!
...

絞り込み条件を変える

Hash.new(ifnone = nil) -> Hash (322.0)

空の新しいハッシュを生成します。ifnone はキーに対 応する値が存在しない時のデフォルト値です。設定したデフォルト値はHash#defaultで参照できます。

空の新しいハッシュを生成します。ifnone はキーに対
応する値が存在しない時のデフォルト値です。設定したデフォルト値はHash#defaultで参照できます。

ifnoneを省略した Hash.new は {} と同じです。

デフォルト値として、毎回同一のオブジェクトifnoneを返します。
それにより、一箇所のデフォルト値の変更が他の値のデフォルト値にも影響します。

//emlist[][ruby]{
h = Hash.new([])
h[0] << 0
h[1] << 1
p h.default #=> [0, 1]
//}

これを避けるには、破壊的でないメソッドで再代入する...

IO.foreach(path, rs = $/, chomp: false) -> Enumerator (208.0)

path で指定されたファイルの各行を引数としてブロックを繰り返し実行します。 path のオープンに成功すれば nil を返します。

path で指定されたファイルの各行を引数としてブロックを繰り返し実行します。
path のオープンに成功すれば nil を返します。

ブロックが与えられなかった場合は、path で指定されたファイルの各行を繰り返す
Enumerator オブジェクトを生成して返します。

テキスト読み込みメソッドとして動作します。

path が空ファイルの場合、何もせずに nil を返します。
Kernel.#open と同様 path の先頭が "|" ならば、"|" に続くコマンドの出力を読み取ります。

@param path ファイル名を表す文字列か "|コマンド名" を指定します。

@pa...

ENV.delete_if -> Enumerator (130.0)

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

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

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

//emlist[][ruby]{
ENV['FOO'] = 'bar'
ENV.delete_if { |key, value| key == 'FOO' && value == 'bar' } # => ENV
ENV.reject! { |key, value| key == 'FOO' && value == 'bar' } # => nil
//}

ENV.reject! -> Enumerator (130.0)

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

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

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

//emlist[][ruby]{
ENV['FOO'] = 'bar'
ENV.delete_if { |key, value| key == 'FOO' && value == 'bar' } # => ENV
ENV.reject! { |key, value| key == 'FOO' && value == 'bar' } # => nil
//}

IO.popen("-", mode = "r", opt={}) -> IO (127.0)

第一引数に文字列 "-" が指定された時、fork(2) を 行い子プロセスの標準入出力との間にパイプラインを確立します。 親プロセスでは IO オブジェクトを返し、子プロセスでは nil を返します。

第一引数に文字列 "-" が指定された時、fork(2) を
行い子プロセスの標準入出力との間にパイプラインを確立します。
親プロセスでは IO オブジェクトを返し、子プロセスでは
nil を返します。

io = IO.popen("-", "r+")
if io # parent
io.puts "foo"
p io.gets # => "child output: foo\n"
io.close
else # child
s = gets
print "child output: " + s
...

絞り込み条件を変える

IO.popen(env, "-", mode = "r", opt={}) -> IO (127.0)

第一引数に文字列 "-" が指定された時、fork(2) を 行い子プロセスの標準入出力との間にパイプラインを確立します。 親プロセスでは IO オブジェクトを返し、子プロセスでは nil を返します。

第一引数に文字列 "-" が指定された時、fork(2) を
行い子プロセスの標準入出力との間にパイプラインを確立します。
親プロセスでは IO オブジェクトを返し、子プロセスでは
nil を返します。

io = IO.popen("-", "r+")
if io # parent
io.puts "foo"
p io.gets # => "child output: foo\n"
io.close
else # child
s = gets
print "child output: " + s
...

IO.popen([env = {}, [cmdname, arg0], *args, execopt={}], mode = "r", opt={}) -> IO (112.0)

サブプロセスを実行し、そのプロセスの標準入出力 との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。

サブプロセスを実行し、そのプロセスの標準入出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。

p io = IO.popen("cat", "r+") # => #<IO:fd 4>
io.puts "foo"
io.close_write
p io.gets # => "foo\n"

サブプロセスを指定する方法は2通りあります。文字列を指定する場合と配列を指定する場合です。
文字列の場合は、シェルを経由して子プロセスを実行し、
配列の場合は、シェルを経由せずに子プロセスを実行します。

...

IO.popen([env = {}, cmdname, *args, execopt={}], mode = "r", opt={}) -> IO (112.0)

サブプロセスを実行し、そのプロセスの標準入出力 との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。

サブプロセスを実行し、そのプロセスの標準入出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。

p io = IO.popen("cat", "r+") # => #<IO:fd 4>
io.puts "foo"
io.close_write
p io.gets # => "foo\n"

サブプロセスを指定する方法は2通りあります。文字列を指定する場合と配列を指定する場合です。
文字列の場合は、シェルを経由して子プロセスを実行し、
配列の場合は、シェルを経由せずに子プロセスを実行します。

...

IO.popen(env = {}, [[cmdname, arg0], *args, execopt={}], mode = "r", opt={}) -> IO (112.0)

サブプロセスを実行し、そのプロセスの標準入出力 との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。

サブプロセスを実行し、そのプロセスの標準入出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。

p io = IO.popen("cat", "r+") # => #<IO:fd 4>
io.puts "foo"
io.close_write
p io.gets # => "foo\n"

サブプロセスを指定する方法は2通りあります。文字列を指定する場合と配列を指定する場合です。
文字列の場合は、シェルを経由して子プロセスを実行し、
配列の場合は、シェルを経由せずに子プロセスを実行します。

...

IO.popen(env = {}, [cmdname, *args, execopt={}], mode = "r", opt={}) -> IO (112.0)

サブプロセスを実行し、そのプロセスの標準入出力 との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。

サブプロセスを実行し、そのプロセスの標準入出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。

p io = IO.popen("cat", "r+") # => #<IO:fd 4>
io.puts "foo"
io.close_write
p io.gets # => "foo\n"

サブプロセスを指定する方法は2通りあります。文字列を指定する場合と配列を指定する場合です。
文字列の場合は、シェルを経由して子プロセスを実行し、
配列の場合は、シェルを経由せずに子プロセスを実行します。

...

絞り込み条件を変える

IO.popen(env = {}, command, mode = "r", opt={}) -> IO (112.0)

サブプロセスを実行し、そのプロセスの標準入出力 との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。

サブプロセスを実行し、そのプロセスの標準入出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。

p io = IO.popen("cat", "r+") # => #<IO:fd 4>
io.puts "foo"
io.close_write
p io.gets # => "foo\n"

サブプロセスを指定する方法は2通りあります。文字列を指定する場合と配列を指定する場合です。
文字列の場合は、シェルを経由して子プロセスを実行し、
配列の場合は、シェルを経由せずに子プロセスを実行します。

...

Range.new(first, last, exclude_end = false) -> Range (82.0)

first から last までの範囲オブジェクトを生成して返しま す。

first から last までの範囲オブジェクトを生成して返しま
す。

exclude_end が真ならば終端を含まない範囲オブジェクトを生
成します。exclude_end 省略時には終端を含みます。

@param first 最初のオブジェクト
@param last 最後のオブジェクト
@param exclude_end 真をセットした場合終端を含まない範囲オブジェクトを生成します

@raise ArgumentError first <=> last が nil の場合に発生します

//emlist[例: 整数の範囲オブジェクトの場合][ruby]{
Range.new(...

Class.new(superclass = Object) -> Class (67.0)

新しく名前の付いていない superclass のサブクラスを生成します。

新しく名前の付いていない superclass のサブクラスを生成します。

名前のないクラスは、最初に名前を求める際に代入されている定数名を検
索し、見つかった定数名をクラス名とします。

//emlist[例][ruby]{
p foo = Class.new # => #<Class:0x401b90f8>
p foo.name # => nil
Foo = foo # ここで p foo すれば "Foo" 固定
Bar = foo
p foo.name # => "Bar" ("Foo" になるか "Bar" になるかは...

ENV.reject -> Enumerator (67.0)

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

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

//emlist[][ruby]{
ENV['TEST'] = 'foo'
result = ENV.reject { |key, value| key == 'TEST' }
result['TEST'] # => nil
ENV['TEST'] # => "foo"
//}

IO.for_fd(fd, mode = "r", **opts) -> IO (67.0)

オープン済みのファイルディスクリプタ fd に対する新しい IO オブジェクトを生成して返します。

オープン済みのファイルディスクリプタ fd に対する新しい
IO オブジェクトを生成して返します。

IO.open にブロックが与えられた場合、IO オブジェクトを生成しそれを引数としてブロックを
実行します。ブロックの終了とともに fd はクローズされます。ブロックの結果を返します。
IO.new, IO.for_fd はブロックを受け付けません。

=== キーワード引数
このメソッドは以下のキーワード引数を利用できます。
* :mode mode引数と同じ意味です
* :external_encoding 外部エンコーディング。"-" はデフォルト外部エンコーディングの
...

絞り込み条件を変える

IO.new(fd, mode = "r", **opts) -> IO (67.0)

オープン済みのファイルディスクリプタ fd に対する新しい IO オブジェクトを生成して返します。

オープン済みのファイルディスクリプタ fd に対する新しい
IO オブジェクトを生成して返します。

IO.open にブロックが与えられた場合、IO オブジェクトを生成しそれを引数としてブロックを
実行します。ブロックの終了とともに fd はクローズされます。ブロックの結果を返します。
IO.new, IO.for_fd はブロックを受け付けません。

=== キーワード引数
このメソッドは以下のキーワード引数を利用できます。
* :mode mode引数と同じ意味です
* :external_encoding 外部エンコーディング。"-" はデフォルト外部エンコーディングの
...

IO.open(fd, mode = "r", **opts) -> IO (67.0)

オープン済みのファイルディスクリプタ fd に対する新しい IO オブジェクトを生成して返します。

オープン済みのファイルディスクリプタ fd に対する新しい
IO オブジェクトを生成して返します。

IO.open にブロックが与えられた場合、IO オブジェクトを生成しそれを引数としてブロックを
実行します。ブロックの終了とともに fd はクローズされます。ブロックの結果を返します。
IO.new, IO.for_fd はブロックを受け付けません。

=== キーワード引数
このメソッドは以下のキーワード引数を利用できます。
* :mode mode引数と同じ意味です
* :external_encoding 外部エンコーディング。"-" はデフォルト外部エンコーディングの
...

RubyVM::InstructionSequence.disasm(body) -> String (64.0)

引数 body で指定したオブジェクトから作成した RubyVM::InstructionSequence オブジェクトを人間が読める形式の文字 列に変換して返します。

引数 body で指定したオブジェクトから作成した
RubyVM::InstructionSequence オブジェクトを人間が読める形式の文字
列に変換して返します。

@param body Proc、Method オブジェクトを指定します。

例1:Proc オブジェクトを指定した場合

# /tmp/proc.rb
p = proc { num = 1 + 2 }
puts RubyVM::InstructionSequence.disasm(p)

出力:

== disasm: <RubyVM::InstructionSequence:block in <main...

RubyVM::InstructionSequence.disassemble(body) -> String (64.0)

引数 body で指定したオブジェクトから作成した RubyVM::InstructionSequence オブジェクトを人間が読める形式の文字 列に変換して返します。

引数 body で指定したオブジェクトから作成した
RubyVM::InstructionSequence オブジェクトを人間が読める形式の文字
列に変換して返します。

@param body Proc、Method オブジェクトを指定します。

例1:Proc オブジェクトを指定した場合

# /tmp/proc.rb
p = proc { num = 1 + 2 }
puts RubyVM::InstructionSequence.disasm(p)

出力:

== disasm: <RubyVM::InstructionSequence:block in <main...

Regexp.last_match -> MatchData (55.0)

カレントスコープで最後に行った正規表現マッチの MatchData オ ブジェクトを返します。このメソッドの呼び出しは $~ の参照と同じです。

カレントスコープで最後に行った正規表現マッチの MatchData オ
ブジェクトを返します。このメソッドの呼び出しは $~
の参照と同じです。

//emlist[例][ruby]{
/(.)(.)/ =~ "ab"
p Regexp.last_match # => #<MatchData:0x4599e58>
p Regexp.last_match[0] # => "ab"
p Regexp.last_match[1] # => "a"
p Regexp.last_match[2] # => "b"
p Regexp.last_match[3] # => nil...

絞り込み条件を変える

Struct.[](*args) -> Struct (55.0)

(このメソッドは Struct の下位クラスにのみ定義されています) 構造体オブジェクトを生成して返します。

(このメソッドは Struct の下位クラスにのみ定義されています)
構造体オブジェクトを生成して返します。

@param args 構造体の初期値を指定します。メンバの初期値は指定されなければ nil です。

@return 構造体クラスのインスタンス。

@raise ArgumentError 構造体のメンバの数よりも多くの引数を指定した場合に発生します。

//emlist[例][ruby]{
Foo = Struct.new(:foo, :bar)
foo = Foo.new(1)
p foo.values # => [1, nil]
//}

Struct.new(*args) -> Class (55.0)

Struct クラスに新しいサブクラスを作って、それを返します。

Struct クラスに新しいサブクラスを作って、それを返します。

サブクラスでは構造体のメンバに対するアクセスメソッドが定義されています。

//emlist[例][ruby]{
dog = Struct.new("Dog", :name, :age)
fred = dog.new("fred", 5)
fred.age = 6
printf "name:%s age:%d", fred.name, fred.age
#=> "name:fred age:6" を出力します
//}

実装の都合により、クラス名の省略は後づけの機能でした。
メンバ名に String を指定できるのは後方互換...

Struct.new(*args) -> Struct (55.0)

(このメソッドは Struct の下位クラスにのみ定義されています) 構造体オブジェクトを生成して返します。

(このメソッドは Struct の下位クラスにのみ定義されています)
構造体オブジェクトを生成して返します。

@param args 構造体の初期値を指定します。メンバの初期値は指定されなければ nil です。

@return 構造体クラスのインスタンス。

@raise ArgumentError 構造体のメンバの数よりも多くの引数を指定した場合に発生します。

//emlist[例][ruby]{
Foo = Struct.new(:foo, :bar)
foo = Foo.new(1)
p foo.values # => [1, nil]
//}

Dir.[](*pattern) -> [String] (52.0)

ワイルドカードの展開を行い、 パターンにマッチするファイル名を文字列の配列として返します。 パターンにマッチするファイルがない場合は空の配列を返します。

ワイルドカードの展開を行い、
パターンにマッチするファイル名を文字列の配列として返します。
パターンにマッチするファイルがない場合は空の配列を返します。

ブロックが与えられたときはワイルドカードにマッチしたファイルを
引数にそのブロックを 1 つずつ評価して nil を返します

@param pattern パターンを文字列か配列で指定します。
配列を指定すると複数のパターンを指定できます。
パターンを文字列で指定する場合、パターンを "\0" で区切って
1 度に複数のパターンを指定することもでき...

Dir.glob(pattern, flags = 0) -> [String] (52.0)

ワイルドカードの展開を行い、 パターンにマッチするファイル名を文字列の配列として返します。 パターンにマッチするファイルがない場合は空の配列を返します。

ワイルドカードの展開を行い、
パターンにマッチするファイル名を文字列の配列として返します。
パターンにマッチするファイルがない場合は空の配列を返します。

ブロックが与えられたときはワイルドカードにマッチしたファイルを
引数にそのブロックを 1 つずつ評価して nil を返します

@param pattern パターンを文字列か配列で指定します。
配列を指定すると複数のパターンを指定できます。
パターンを文字列で指定する場合、パターンを "\0" で区切って
1 度に複数のパターンを指定することもでき...

絞り込み条件を変える

Enumerator.new(obj, method = :each, *args) -> Enumerator (52.0)

オブジェクト obj について、 each の代わりに method という 名前のメソッドを使って繰り返すオブジェクトを生成して返します。 args を指定すると、 method の呼び出し時に渡されます。

オブジェクト obj について、 each の代わりに method という
名前のメソッドを使って繰り返すオブジェクトを生成して返します。
args を指定すると、 method の呼び出し時に渡されます。

@param obj イテレータメソッドのレシーバとなるオブジェクト
@param method イテレータメソッドの名前を表すシンボルまたは文字列
@param args イテレータメソッドの呼び出しに渡す任意個の引数

//emlist[例][ruby]{
str = "xyz"

enum = Enumerator.new(str, :each_byte)
p enum.map...

Module.new -> Module (49.0)

名前の付いていないモジュールを新しく生成して返します。

名前の付いていないモジュールを新しく生成して返します。

ブロックが与えられると生成したモジュールをブロックに渡し、
モジュールのコンテキストでブロックを実行します。

//emlist[例][ruby]{
mod = Module.new
mod.module_eval {|m|
# ...
}
mod
//}

と同じです。
ブロックの実行は Module#initialize が行います。

ブロックを与えた場合も生成したモジュールを返します。

このメソッドで生成されたモジュールは、
最初に名前が必要になったときに名前が決定します。
モジュールの名前は、
そのモジュールが代入され...

Dir.foreach(path) -> Enumerator (40.0)

ディレクトリ path の各エントリを表す文字列を引数として、ブロックを評価します。

ディレクトリ path の各エントリを表す文字列を引数として、ブロックを評価します。

ブロックが与えられなかった場合、各エントリを文字列として保持する
Enumerator オブジェクトを返します。

@param path ディレクトリのパスを文字列で指定します。

@param encoding ディレクトリのエンコーディングを文字列か
Encoding オブジェクトで指定します。省略した場合は
ファイルシステムのエンコーディングと同じになります。

@raise Errno::EXXX 失敗した場合に発生します。

//...

Dir.foreach(path, encoding: Encoding.find("filesystem")) -> Enumerator (40.0)

ディレクトリ path の各エントリを表す文字列を引数として、ブロックを評価します。

ディレクトリ path の各エントリを表す文字列を引数として、ブロックを評価します。

ブロックが与えられなかった場合、各エントリを文字列として保持する
Enumerator オブジェクトを返します。

@param path ディレクトリのパスを文字列で指定します。

@param encoding ディレクトリのエンコーディングを文字列か
Encoding オブジェクトで指定します。省略した場合は
ファイルシステムのエンコーディングと同じになります。

@raise Errno::EXXX 失敗した場合に発生します。

//...

ENV.keep_if -> Enumerator (40.0)

キーと値を引数としてブロックを評価した結果が真であ るような要素を環境変数に残します。

キーと値を引数としてブロックを評価した結果が真であ
るような要素を環境変数に残します。

keep_if は常に self を返します。
select! はオブジェクトが変更された場合に self を、
されていない場合に nil を返します。

ブロックが省略された場合には Enumerator を返します。

@see ENV.delete_if,ENV.reject!, Hash#keep_if, Hash#select!,

絞り込み条件を変える

ENV.select! -> Enumerator (40.0)

キーと値を引数としてブロックを評価した結果が真であ るような要素を環境変数に残します。

キーと値を引数としてブロックを評価した結果が真であ
るような要素を環境変数に残します。

keep_if は常に self を返します。
select! はオブジェクトが変更された場合に self を、
されていない場合に nil を返します。

ブロックが省略された場合には Enumerator を返します。

@see ENV.delete_if,ENV.reject!, Hash#keep_if, Hash#select!,

Array.new(ary) -> Array (37.0)

指定された配列 ary を複製して返します。 Array#dup 同様 要素を複製しない浅い複製です。

指定された配列 ary を複製して返します。
Array#dup 同様 要素を複製しない浅い複製です。

@param ary 複製したい配列を指定します。

//emlist[例][ruby]{
p Array.new([1,2,3]) # => [1,2,3]

a = ["a", "b", "c"]
b = Array.new(a)
a.each{|s| s.capitalize! }
p a #=> ["A", "B", "C"]
p b #=> ["A", "B", "C"] (b は ...