るりまサーチ (Ruby 2.5.0)

最速Rubyリファレンスマニュアル検索!
91件ヒット [1-91件を表示] (0.088秒)

別のキーワード

  1. _builtin new
  2. _builtin inspect
  3. _builtin []
  4. _builtin to_s
  5. _builtin each

クラス

モジュール

オブジェクト

キーワード

検索結果

Kernel.#proc -> Proc (70423.0)

与えられたブロックから手続きオブジェクト (Proc のインスタンス) を生成して返します。Proc.new に近い働きをします。

与えられたブロックから手続きオブジェクト (Proc のインスタンス)
を生成して返します。Proc.new に近い働きをします。

ブロックが指定されなければ、呼び出し元のメソッドで指定されたブロック
を手続きオブジェクトとして返します。呼び出し元のメソッドがブロックなし
で呼ばれると ArgumentError 例外が発生します。

ただし、ブロックを指定しない呼び出しは推奨されていません。呼び出し元のメソッドで指定されたブロック
を得たい場合は明示的に & 引数でうけるべきです。

ブロックを指定しない lambda は Ruby 2.6 までは警告メッセージ
「warning: tr...

Kernel.#proc { ... } -> Proc (70423.0)

与えられたブロックから手続きオブジェクト (Proc のインスタンス) を生成して返します。Proc.new に近い働きをします。

与えられたブロックから手続きオブジェクト (Proc のインスタンス)
を生成して返します。Proc.new に近い働きをします。

ブロックが指定されなければ、呼び出し元のメソッドで指定されたブロック
を手続きオブジェクトとして返します。呼び出し元のメソッドがブロックなし
で呼ばれると ArgumentError 例外が発生します。

ただし、ブロックを指定しない呼び出しは推奨されていません。呼び出し元のメソッドで指定されたブロック
を得たい場合は明示的に & 引数でうけるべきです。

ブロックを指定しない lambda は Ruby 2.6 までは警告メッセージ
「warning: tr...

Proc.new -> Proc (51493.0)

ブロックをコンテキストとともにオブジェクト化して返します。

ブロックをコンテキストとともにオブジェクト化して返します。

ブロックを指定しない場合、Ruby 2.7 では
$VERBOSE = true のときには警告メッセージ
「warning: Capturing the given block using Proc.new is deprecated; use `&block` instead」
が出力され、Ruby 3.0 では
ArgumentError (tried to create Proc object without a block)
が発生します。

ブロックを指定しなければ、このメソッドを呼び出したメソッドが
ブロックを伴うと...

Proc.new { ... } -> Proc (51493.0)

ブロックをコンテキストとともにオブジェクト化して返します。

ブロックをコンテキストとともにオブジェクト化して返します。

ブロックを指定しない場合、Ruby 2.7 では
$VERBOSE = true のときには警告メッセージ
「warning: Capturing the given block using Proc.new is deprecated; use `&block` instead」
が出力され、Ruby 3.0 では
ArgumentError (tried to create Proc object without a block)
が発生します。

ブロックを指定しなければ、このメソッドを呼び出したメソッドが
ブロックを伴うと...

Proc#===(*arg) -> () (51061.0)

手続きオブジェクトを実行してその結果を返します。

手続きオブジェクトを実行してその結果を返します。

引数の渡され方はオブジェクトの生成方法によって異なります。
詳しくは Proc#lambda? を参照してください。

「===」は when の所に手続きを渡せるようにするためのものです。

//emlist[例][ruby]{
def sign(n)
case n
when lambda{|n| n > 0} then 1
when lambda{|n| n < 0} then -1
else 0
end
end

p sign(-4) #=> -1
p sign(0) #=> 0
p sign(7) #=> 1...

絞り込み条件を変える

Proc#[](*arg) -> () (51061.0)

手続きオブジェクトを実行してその結果を返します。

手続きオブジェクトを実行してその結果を返します。

引数の渡され方はオブジェクトの生成方法によって異なります。
詳しくは Proc#lambda? を参照してください。

「===」は when の所に手続きを渡せるようにするためのものです。

//emlist[例][ruby]{
def sign(n)
case n
when lambda{|n| n > 0} then 1
when lambda{|n| n < 0} then -1
else 0
end
end

p sign(-4) #=> -1
p sign(0) #=> 0
p sign(7) #=> 1...

Proc#call(*arg) -> () (51061.0)

手続きオブジェクトを実行してその結果を返します。

手続きオブジェクトを実行してその結果を返します。

引数の渡され方はオブジェクトの生成方法によって異なります。
詳しくは Proc#lambda? を参照してください。

「===」は when の所に手続きを渡せるようにするためのものです。

//emlist[例][ruby]{
def sign(n)
case n
when lambda{|n| n > 0} then 1
when lambda{|n| n < 0} then -1
else 0
end
end

p sign(-4) #=> -1
p sign(0) #=> 0
p sign(7) #=> 1...

Proc#yield(*arg) -> () (51061.0)

手続きオブジェクトを実行してその結果を返します。

手続きオブジェクトを実行してその結果を返します。

引数の渡され方はオブジェクトの生成方法によって異なります。
詳しくは Proc#lambda? を参照してください。

「===」は when の所に手続きを渡せるようにするためのものです。

//emlist[例][ruby]{
def sign(n)
case n
when lambda{|n| n > 0} then 1
when lambda{|n| n < 0} then -1
else 0
end
end

p sign(-4) #=> -1
p sign(0) #=> 0
p sign(7) #=> 1...

Process.#times -> Process::Tms (33325.0)

自身のプロセスとその子プロセスが消費したユーザ/システム CPU 時間の積算を Process::Tms オブジェクトで返します。 時間の単位は秒で、浮動小数点数で与えられます。

自身のプロセスとその子プロセスが消費したユーザ/システム CPU 時間の積算を
Process::Tms オブジェクトで返します。
時間の単位は秒で、浮動小数点数で与えられます。

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

@see Process::Tms

Process.#wait2(pid = -1, flags = 0) -> [Integer, Process::Status] | nil (33325.0)

pid で指定される特定の子プロセスの終了を待ち、そのプロセスが 終了した時に pid を返します。 wait2, waitpid2 は子プロセスの pid と終了ステータスを表す Process::Status オブジェクトの配列を返します。 ノンブロッキングモードで子プロセスがまだ終了していない時には nil を返します。

pid で指定される特定の子プロセスの終了を待ち、そのプロセスが
終了した時に pid を返します。
wait2, waitpid2 は子プロセスの pid と終了ステータスを表す
Process::Status オブジェクトの配列を返します。
ノンブロッキングモードで子プロセスがまだ終了していない時には
nil を返します。

$? に終了した子プロセスの Process::Status オブジェクトがセットされます。

@param pid 子プロセスのプロセス ID を整数で指定します。
0 以上なら指定されたプロセス ID の子プロセスを待ちます。
0 な...

絞り込み条件を変える

Process.#waitpid2(pid = -1, flags = 0) -> [Integer, Process::Status] | nil (33325.0)

pid で指定される特定の子プロセスの終了を待ち、そのプロセスが 終了した時に pid を返します。 wait2, waitpid2 は子プロセスの pid と終了ステータスを表す Process::Status オブジェクトの配列を返します。 ノンブロッキングモードで子プロセスがまだ終了していない時には nil を返します。

pid で指定される特定の子プロセスの終了を待ち、そのプロセスが
終了した時に pid を返します。
wait2, waitpid2 は子プロセスの pid と終了ステータスを表す
Process::Status オブジェクトの配列を返します。
ノンブロッキングモードで子プロセスがまだ終了していない時には
nil を返します。

$? に終了した子プロセスの Process::Status オブジェクトがセットされます。

@param pid 子プロセスのプロセス ID を整数で指定します。
0 以上なら指定されたプロセス ID の子プロセスを待ちます。
0 な...

Process.#groups=(gids) (33061.0)

補助グループを設定します。

補助グループを設定します。

root だけがこのメソッドを呼ぶことができます。

@param gids 補助グループ ID の配列を指定します。補助グループ ID は整数かグループ名を表す文字列です。

@raise ArgumentError 設定する補助グループ ID の数が Process.#maxgroups の
数を越えている場合に発生します。

@raise Errno::EXXX 権限がない場合に発生します。

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

Process.#daemon(nochdir = nil, noclose = nil) -> 0 (33043.0)

プロセスから制御端末を切り離し、 バックグラウンドにまわってデーモンとして動作させます。

プロセスから制御端末を切り離し、
バックグラウンドにまわってデーモンとして動作させます。

カレントディレクトリを / に移動します。
ただし nochdir に真を指定したときにはこの動作は抑制され、
カレントディレクトリは移動しません。

標準入力・標準出力・標準エラー出力を /dev/null にリダイレクトします。
ただし noclose に真を指定したときにはこの動作は抑制され、
リダイレクトは行なわれません。


@param nochdir true を指定した場合、カレントディレクトリを移動しません。

@param noclose true を指定した場合、標準入力・標準出...

Process.#egid=(gid) (33043.0)

カレントプロセスの実効グループ ID を gid に設定します。

カレントプロセスの実効グループ ID を gid に設定します。

動作の詳細はプラットフォームに依存します。
実効グループ ID 以外のグループ ID も変更されるかも知れません。

@param gid 実効グループ ID を整数で指定します。

@raise Errno::EXXX 権限がない場合に発生します。

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

@see Process::GID.#eid=

Process.#euid=(uid) (33043.0)

カレントプロセスの実効ユーザ ID を uid に設定します。

カレントプロセスの実効ユーザ ID を uid に設定します。

動作の詳細はプラットフォームに依存します。
実効ユーザ ID 以外のユーザ ID も変更されるかも知れません。

@param uid 実効ユーザ ID を整数で指定します。

@raise Errno::EXXX 権限がない場合に発生します。

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

@see Process::UID.#eid=

絞り込み条件を変える

Process.#getpgid(pid) -> Integer (33043.0)

プロセス ID が pid であるプロセスのプロセスグループ ID を整数で返します。

プロセス ID が pid であるプロセスのプロセスグループ ID を整数で返します。

@param pid プロセス ID を整数で指定します。0 の時はカレントプロセス ID を指定したのと同じです。

@raise Errno::EXXX プロセスグループの取得に失敗した場合に発生します。

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

@see getpgid(2)

Process.#getpgrp -> Integer (33043.0)

現在のプロセスのプロセスグループ ID を整数で返します。

現在のプロセスのプロセスグループ ID を整数で返します。

@raise Errno::EXXX プロセスグループの取得に失敗した場合に発生します。

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

@see getpgrp(2)

Process.#getpriority(which, who) -> Integer (33043.0)

which に従いプロセス、プロセスグループ、ユーザのいずれかの現在のプライオリティを整数で返します。

which に従いプロセス、プロセスグループ、ユーザのいずれかの現在のプライオリティを整数で返します。

@param which プライオリティの種類を次の定数で指定します。 Process::PRIO_PROCESS,
Process::PRIO_PGRP, Process::PRIO_USER。

@param who which の値にしたがってプロセス ID、プロセスグループ ID、ユーザ ID のいずれかを整数で指定します。

@raise Errno::EXXX プライオリティの取得に失敗した場合に発生します。

@raise NotImplement...

Process.#getrlimit(resource) -> [Integer] (33043.0)

カレントプロセスでのリソースの制限値を、整数の配列として返します。 返り値は、現在の制限値 cur_limit と、制限値として設定可能な最大値 max_limit の 配列 [cur_limit, max_limit] です。

カレントプロセスでのリソースの制限値を、整数の配列として返します。
返り値は、現在の制限値 cur_limit と、制限値として設定可能な最大値 max_limit の
配列 [cur_limit, max_limit] です。

それぞれの limit が Process::RLIM_INFINITY と等しい場合、リソースに制限がないことを意味します。

@param resource リソースの種類を示す定数を指定します。指定できる定数はシステムに依存します。

@raise Errno::EXXX リソースの制限値の取得が失敗した場合に発生します。

@raise NotImplem...

Process.#gid=(gid) (33043.0)

カレントプロセスの実グループ ID を gid に設定します。

カレントプロセスの実グループ ID を gid に設定します。

動作の詳細はプラットフォームに依存します。
実グループ ID 以外のグループ ID も変更されるかも知れません。

@param gid 実グループ ID を整数で指定します。

@raise Errno::EXXX 権限がない場合に発生します。

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

@see Process::GID

絞り込み条件を変える

Process.#groups -> [Integer] (33043.0)

補助グループ ID の配列を返します(実効グループ ID を含むかも知れません)。

補助グループ ID の配列を返します(実効グループ ID を含むかも知れません)。

返される配列の最大要素数は Process.#maxgroups です。

このメソッドは getgroups(2) の単純なラッパーです。
このことは以下の特徴がプラットフォームに依存することを意味します。

* 結果がソートされているかどうか
* 結果が実効グループ ID を含むかどうか
* グループ ID が重複している可能性があるかどうか

ソート済みで重複のないグループ ID の配列の取得は以下のようにできます:

//emlist[][ruby]{
Process.groups.uniq....

Process.#kill(signal, pid, *rest) -> Integer (33043.0)

pid で指定されたプロセスにシグナルを送ります。signal はシグナル番号(整数)かその名前(文字列またはSymbol)で指定します。 全てのシグナル送信に成功した場合、指定した pid の総数を返します。

pid で指定されたプロセスにシグナルを送ります。signal
はシグナル番号(整数)かその名前(文字列またはSymbol)で指定します。
全てのシグナル送信に成功した場合、指定した pid の総数を返します。

@param signal シグナルをシグナル番号(整数)かその名前(文字列またはSymbol)で指定します。負の値を持つシグナル(あるいはシグナル名の前に-)を指定すると、プロセスではなくプロセスグループにシグナルを送ります。

@param pid シグナルを送りたいプロセスのプロセス ID を整数で指定します。ただし、0 以下の場合は以下のような意味になります。

* 0 ...

Process.#setpgid(pid, pgrp) -> 0 (33043.0)

プロセス ID が pid であるプロセスのプロセスグループを pgrp に設定します。

プロセス ID が pid であるプロセスのプロセスグループを pgrp に設定します。

@param pid プロセス ID を整数で指定します。pid が 0 の時はカレントプロセスの ID を指定したのと同じです。
プロセスグループの設定に成功した場合は 0 を返します。

@param pgrp プロセスグループ ID を整数で指定します。pgrp が 0 の時は pid を指定したのと同じです。

@raise Errno::EXXX プロセスグループの設定に失敗した場合に発生します。

@raise NotImplementedError メソッドが現在の...

Process.#setpgrp -> 0 (33043.0)

カレントプロセスの ID と同じ ID をもつプロセスグループを作成し、カレントプロセスをそのリーダーにします。 Process.#setpgid(0, 0) と同じです。

カレントプロセスの ID と同じ ID をもつプロセスグループを作成し、カレントプロセスをそのリーダーにします。
Process.#setpgid(0, 0) と同じです。

@raise Errno::EXXX プロセスグループの設定に失敗した場合に発生します。

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

fork do
p [Process.pid, Process.getpgrp]
p Process.setpgrp
p [Process.pid, Process.getpgrp]
...

Process.#setpriority(which, who, prio) -> 0 (33043.0)

プロセス、プロセスグループ、 ユーザのいずれかの現在のプライオリティを設定します 。プライオリティの設定に成功した場合は 0 を返します。

プロセス、プロセスグループ、
ユーザのいずれかの現在のプライオリティを設定します
。プライオリティの設定に成功した場合は 0 を返します。

@param which プライオリティを設定する対象の種類を以下の定数のいずれかで指定します。

* Process::PRIO_PROCESS
* Process::PRIO_PGRP
* Process::PRIO_USER

@param who which の値にしたがってプロセス ID、プロセスグループ ID、ユーザ ID のいずれかを整数で指定します。

@param prio プライオリティを -20 から 20 までの整数で設...

絞り込み条件を変える

Process.#setrlimit(resource, cur_limit, max_limit) -> nil (33043.0)

カレントプロセスでのリソースの制限値を設定します。

カレントプロセスでのリソースの制限値を設定します。

@param resource リソースの種類を示す定数を指定します。指定できる定数はシステムに依存します。

@param limit resource によって意味が決まる制限値を表す整数もしくは定数を指定します。
soft limit と hard limit 両方にこの値が使われます。

@param cur_limit 現在の制限値(soft limit)を表す整数もしくは定数を指定します。

@param max_limit soft limit として設定可能な最大値(hard limit)を表す整...

Process.#setrlimit(resource, limit) -> nil (33043.0)

カレントプロセスでのリソースの制限値を設定します。

カレントプロセスでのリソースの制限値を設定します。

@param resource リソースの種類を示す定数を指定します。指定できる定数はシステムに依存します。

@param limit resource によって意味が決まる制限値を表す整数もしくは定数を指定します。
soft limit と hard limit 両方にこの値が使われます。

@param cur_limit 現在の制限値(soft limit)を表す整数もしくは定数を指定します。

@param max_limit soft limit として設定可能な最大値(hard limit)を表す整...

Process.#setsid -> Integer (33043.0)

新しいセッションを作成して、tty を切り離します。デーモンを簡単に作 ることができます。セッション ID を返します。

新しいセッションを作成して、tty を切り離します。デーモンを簡単に作
ることができます。セッション ID を返します。

@raise Errno::EXXX セッションの作成に失敗した場合に発生します。

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

@see setsid(2)

Process.#uid=(id) (33043.0)

プロセスの実ユーザ ID を id に設定します。

プロセスの実ユーザ ID を id に設定します。

動作の詳細はプラットフォームに依存します。
実ユーザ ID 以外のユーザ ID も変更されるかも知れません。

@param id 実ユーザ ID を整数で指定します。

@raise Errno::EXXX 権限がない場合に発生します。

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

@see Process::UID

Process::GID.#change_privilege(id) -> Integer (33043.0)

実グループ ID・実効グループ ID・保存グループ ID のすべてを指定された id に変更します。 成功したら id を返します。主に root 権限を完全に放棄するために使います。

実グループ ID・実効グループ ID・保存グループ ID のすべてを指定された id に変更します。
成功したら id を返します。主に root 権限を完全に放棄するために使います。

利用できるかはプラットフォームに依存します。

@param id グループ ID を整数で指定します。

@raise ArgumentError 変更できないグループ ID があった場合に発生します。例外の発生時にこのメソッドを呼び出す前の各グループ ID の値が保存されているかどうかは保証されません。

@raise NotImplementedError メソッドが現在のプラットフォームで実装されて...

絞り込み条件を変える

Process::GID.#eid=(id) (33043.0)

現在のプロセスの実効グループ ID を id に変更します。成功したら id を返します。

現在のプロセスの実効グループ ID を id に変更します。成功したら id を返します。

実グループ ID は変更されないことが保証されます。
保存グループ ID が変更されないかもしれないので root 権限の完全放棄には使えません。
保存グループ ID が変化するかどうかは Process::GID.#re_exchangeable?
が true を返すかどうかで決まります。
* true の環境では、実グループ ID と異なる値を設定した場合、保存グループ ID は新しい実効グループ ID の値に設定されます。
* false の環境では保存グループ ID は変化しません。
...

Process::GID.#grant_privilege(id) -> Integer (33043.0)

現在のプロセスの実効グループ ID を id に変更します。成功したら id を返します。

現在のプロセスの実効グループ ID を id に変更します。成功したら id を返します。

実グループ ID は変更されないことが保証されます。
保存グループ ID が変更されないかもしれないので root 権限の完全放棄には使えません。
保存グループ ID が変化するかどうかは Process::GID.#re_exchangeable?
が true を返すかどうかで決まります。
* true の環境では、実グループ ID と異なる値を設定した場合、保存グループ ID は新しい実効グループ ID の値に設定されます。
* false の環境では保存グループ ID は変化しません。
...

Process::GID.#switch -> Integer (33043.0)

実効グループ ID を一時的に変更するために使います。

実効グループ ID を一時的に変更するために使います。

実効グループ ID を実グループ ID に変更します。実効グループ ID と実グループ ID が
等しい場合には、実効グループ ID を保存グループ ID に変更します。
変更前の実効グループ ID を返します。

ブロックが指定された場合、実効グループ ID を実グループ ID へ
変更しブロックを実行します。ブロック終了時に実効グループ ID を元の
値に戻します。ブロックの実行結果を返します。

なお、保存グループ ID を持たない環境でこのメソッドを実行すると
実グループ ID が変化します。

@raise Errno::E...

Process::GID.#switch {...} -> object (33043.0)

実効グループ ID を一時的に変更するために使います。

実効グループ ID を一時的に変更するために使います。

実効グループ ID を実グループ ID に変更します。実効グループ ID と実グループ ID が
等しい場合には、実効グループ ID を保存グループ ID に変更します。
変更前の実効グループ ID を返します。

ブロックが指定された場合、実効グループ ID を実グループ ID へ
変更しブロックを実行します。ブロック終了時に実効グループ ID を元の
値に戻します。ブロックの実行結果を返します。

なお、保存グループ ID を持たない環境でこのメソッドを実行すると
実グループ ID が変化します。

@raise Errno::E...

Process::Sys.#setegid(id) -> nil (33043.0)

システムコールの setegid(2) を呼びます。

システムコールの setegid(2) を呼びます。

@param id システムコールの引数を整数で指定します。

@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。

@raise Errno::EXXX システムコールに失敗した場合に発生します。

絞り込み条件を変える

Process::Sys.#seteuid(id) -> nil (33043.0)

システムコールの seteuid(2) を呼びます。

システムコールの seteuid(2) を呼びます。

@param id システムコールの引数を整数で指定します。

@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。

@raise Errno::EXXX システムコールに失敗した場合に発生します。

Process::Sys.#setgid(id) -> nil (33043.0)

システムコールの setgid(2) を呼びます。

システムコールの setgid(2) を呼びます。

@param id システムコールの引数を整数で指定します。

@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。

@raise Errno::EXXX システムコールに失敗した場合に発生します。

Process::Sys.#setregid(rid, eid) -> nil (33043.0)

システムコールの setregid(2) を呼びます。

システムコールの setregid(2) を呼びます。

@param rid システムコールの引数を整数で指定します。

@param eid システムコールの引数を整数で指定します。

@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。

@raise Errno::EXXX システムコールに失敗した場合に発生します。

Process::Sys.#setresgid(rid, eid, sid) -> nil (33043.0)

システムコールの setresgid を呼びます。

システムコールの setresgid を呼びます。

@param rid システムコールの引数を整数で指定します。

@param eid システムコールの引数を整数で指定します。

@param sid システムコールの引数を整数で指定します。

@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。

@raise Errno::EXXX システムコールに失敗した場合に発生します。

Process::Sys.#setresuid(rid, eid, sid) -> nil (33043.0)

システムコールの setresuid を呼びます。

システムコールの setresuid を呼びます。

@param rid システムコールの引数を整数で指定します。

@param eid システムコールの引数を整数で指定します。

@param sid システムコールの引数を整数で指定します。

@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。

@raise Errno::EXXX システムコールに失敗した場合に発生します。

絞り込み条件を変える

Process::Sys.#setreuid(rid, eid) -> nil (33043.0)

システムコールの setreuid(2) を呼びます。

システムコールの setreuid(2) を呼びます。

@param rid システムコールの引数を整数で指定します。

@param eid システムコールの引数を整数で指定します。

@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。

@raise Errno::EXXX システムコールに失敗した場合に発生します。

Process::Sys.#setrgid(id) -> nil (33043.0)

システムコールの setrgid を呼びます。

システムコールの setrgid を呼びます。

@param id システムコールの引数を整数で指定します。

@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。

@raise Errno::EXXX システムコールに失敗した場合に発生します。

Process::Sys.#setruid(id) -> nil (33043.0)

システムコールの setruid を呼びます。

システムコールの setruid を呼びます。

@param id システムコールの引数を整数で指定します。

@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。

@raise Errno::EXXX システムコールに失敗した場合に発生します。

Process::Sys.#setuid(id) -> nil (33043.0)

システムコールの setuid(2) を呼びます。

システムコールの setuid(2) を呼びます。

@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。

@raise Errno::EXXX システムコールに失敗した場合に発生します。

Process::UID.#change_privilege(id) -> Integer (33043.0)

実ユーザ ID・実効ユーザ ID・保存ユーザ ID のすべてを指定された id に変更します。 成功したら id を返します。主に root 権限を完全に放棄するために使います。

実ユーザ ID・実効ユーザ ID・保存ユーザ ID のすべてを指定された id に変更します。
成功したら id を返します。主に root 権限を完全に放棄するために使います。

利用できるかはプラットフォームに依存します。

@param id ユーザ ID を整数で指定します。

@raise ArgumentError 変更できないユーザ ID があった場合に発生します。例外の発生時にこのメソッドを呼び出す前の各ユーザ ID の値が保存されているかどうかは保証されません。

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

絞り込み条件を変える

Process::UID.#eid=(id) (33043.0)

現在のプロセスの実効ユーザ ID を id に変更します。成功したら id を返します。

現在のプロセスの実効ユーザ ID を id に変更します。成功したら id を返します。

実ユーザ ID は変更されないことが保証されます。
保存ユーザ ID が変更されないかもしれないので root 権限の完全放棄には使えません。
保存ユーザ ID が変化するかどうかは Process::UID.#re_exchangeable?
が true を返すかどうかで決まります。

* true の環境では、実ユーザ ID と異なる値を設定した場合、保存ユーザ ID は新しい実効ユーザ ID の値に設定されます。
* false の環境では保存ユーザ ID は変化しません。

利用できるか...

Process::UID.#grant_privilege(id) -> Integer (33043.0)

現在のプロセスの実効ユーザ ID を id に変更します。成功したら id を返します。

現在のプロセスの実効ユーザ ID を id に変更します。成功したら id を返します。

実ユーザ ID は変更されないことが保証されます。
保存ユーザ ID が変更されないかもしれないので root 権限の完全放棄には使えません。
保存ユーザ ID が変化するかどうかは Process::UID.#re_exchangeable?
が true を返すかどうかで決まります。

* true の環境では、実ユーザ ID と異なる値を設定した場合、保存ユーザ ID は新しい実効ユーザ ID の値に設定されます。
* false の環境では保存ユーザ ID は変化しません。

利用できるか...

Process::UID.#switch -> Integer (33043.0)

実効ユーザ ID を一時的に変更するために使います。

実効ユーザ ID を一時的に変更するために使います。

実効ユーザ ID を実ユーザ ID に変更します。実効ユーザ ID と実ユーザ ID が
等しい場合には、実効ユーザ ID を保存ユーザ ID に変更します。
変更前の実効ユーザ ID を返します。

ブロックが指定された場合、実効ユーザ ID を実ユーザ ID へ
変更しブロックを実行します。ブロック終了時に実効ユーザ ID を元の
値に戻します。ブロックの実行結果を返します。

なお、保存ユーザ ID を持たない環境でこのメソッドを実行すると
実ユーザ ID が変化します。

@raise Errno::EPERM 各ユーザ ID ...

Process::UID.#switch { .... } -> object (33043.0)

実効ユーザ ID を一時的に変更するために使います。

実効ユーザ ID を一時的に変更するために使います。

実効ユーザ ID を実ユーザ ID に変更します。実効ユーザ ID と実ユーザ ID が
等しい場合には、実効ユーザ ID を保存ユーザ ID に変更します。
変更前の実効ユーザ ID を返します。

ブロックが指定された場合、実効ユーザ ID を実ユーザ ID へ
変更しブロックを実行します。ブロック終了時に実効ユーザ ID を元の
値に戻します。ブロックの実行結果を返します。

なお、保存ユーザ ID を持たない環境でこのメソッドを実行すると
実ユーザ ID が変化します。

@raise Errno::EPERM 各ユーザ ID ...

Process.#clock_gettime(clock_id, unit=:float_second) -> Float | Integer (33025.0)

POSIX の clock_gettime() 関数の時間を返します。

POSIX の clock_gettime() 関数の時間を返します。

例:
p Process.clock_gettime(Process::CLOCK_MONOTONIC) #=> 896053.968060096

@param clock_id クロックの種類を以下の定数のいずれかで指定します。
サポートされている定数は OS やバージョンに依存します。

: Process::CLOCK_REALTIME
SUSv2 to 4, Linux 2.5.63, FreeBSD 3.0, NetBSD 2.0, OpenBSD 2.1, macOS...

絞り込み条件を変える

Process.#detach(pid) -> Thread (33025.0)

子プロセス pid の終了を監視するスレッドを生成して返します。 生成したスレッドは子プロセスが終了した後に終了ステータス (Process::Status) を返します。 指定した子プロセスが存在しなければ即座に nil で終了します。

子プロセス pid の終了を監視するスレッドを生成して返します。
生成したスレッドは子プロセスが終了した後に終了ステータス (Process::Status) を返します。
指定した子プロセスが存在しなければ即座に nil で終了します。

@param pid 子スレッドのプロセス ID を整数で指定します。

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

pid = fork {
# child
sleep 3
}

p pid # => 7762
th...

Process.#getsid(pid = 0) -> Integer (33025.0)

引数 pid で指定されたプロセスのセッション ID を返します。

引数 pid で指定されたプロセスのセッション ID を返します。

@param pid プロセス ID を整数で指定します。省略した場合、0 を指定した場
合は現在のプロセスの ID を指定した場合と同じ動作になります。

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

Process.getsid() # => 27422
Process.getsid(0) # => 274...

Process.#initgroups(user, group) -> [Integer] (33025.0)

user が属するグループのリストを更新し、group をそのリストに加えます。

user が属するグループのリストを更新し、group をそのリストに加えます。

このメソッドを呼ぶには root 権限が必要です。

@param user ユーザ名を表す文字列で指定します。

@param group ユーザグループ ID を整数で指定します。

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

Process.#maxgroups -> Integer (33025.0)

設定できる補助グループ ID の数を指定します。

設定できる補助グループ ID の数を指定します。

実際に返される補助グループ ID の数よりも少ない値を設定していると、
Process.#groups で例外が発生します。

@param num 整数を指定します。

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

Process.#maxgroups=(num) (33025.0)

設定できる補助グループ ID の数を指定します。

設定できる補助グループ ID の数を指定します。

実際に返される補助グループ ID の数よりも少ない値を設定していると、
Process.#groups で例外が発生します。

@param num 整数を指定します。

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

絞り込み条件を変える

Process.#wait(pid = -1, flags = 0) -> Integer | nil (33025.0)

pid で指定される特定の子プロセスの終了を待ち、そのプロセスが 終了した時に pid を返します。 wait2, waitpid2 は子プロセスの pid と終了ステータスを表す Process::Status オブジェクトの配列を返します。 ノンブロッキングモードで子プロセスがまだ終了していない時には nil を返します。

pid で指定される特定の子プロセスの終了を待ち、そのプロセスが
終了した時に pid を返します。
wait2, waitpid2 は子プロセスの pid と終了ステータスを表す
Process::Status オブジェクトの配列を返します。
ノンブロッキングモードで子プロセスがまだ終了していない時には
nil を返します。

$? に終了した子プロセスの Process::Status オブジェクトがセットされます。

@param pid 子プロセスのプロセス ID を整数で指定します。
0 以上なら指定されたプロセス ID の子プロセスを待ちます。
0 な...

Process.#waitpid(pid = -1, flags = 0) -> Integer | nil (33025.0)

pid で指定される特定の子プロセスの終了を待ち、そのプロセスが 終了した時に pid を返します。 wait2, waitpid2 は子プロセスの pid と終了ステータスを表す Process::Status オブジェクトの配列を返します。 ノンブロッキングモードで子プロセスがまだ終了していない時には nil を返します。

pid で指定される特定の子プロセスの終了を待ち、そのプロセスが
終了した時に pid を返します。
wait2, waitpid2 は子プロセスの pid と終了ステータスを表す
Process::Status オブジェクトの配列を返します。
ノンブロッキングモードで子プロセスがまだ終了していない時には
nil を返します。

$? に終了した子プロセスの Process::Status オブジェクトがセットされます。

@param pid 子プロセスのプロセス ID を整数で指定します。
0 以上なら指定されたプロセス ID の子プロセスを待ちます。
0 な...

Process.fork -> Integer | nil (33025.0)

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

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

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

@see fork(2)

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

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

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

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

@see fork(2)

Process.spawn(cmd, *arg) -> Integer (33025.0)

関数 Kernel.#spawn と同じです。

関数 Kernel.#spawn と同じです。

@param cmd Kernel.#spawn と同じです。

@param arg Kernel.#spawn と同じです。

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

絞り込み条件を変える

Process::GID.#eid -> Integer (33025.0)

現在のプロセスの実効グループ ID を返します。

現在のプロセスの実効グループ ID を返します。

利用できるかはプラットフォームに依存します。

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

Process.egid #=> 500

Process::GID.#from_name(name) -> Integer (33025.0)

引数で指定した名前の実グループ ID を返します。

引数で指定した名前の実グループ ID を返します。

Process::GID.from_name("wheel") # => 0
Process::GID.from_name("nosuchgroup") # => can't find group for nosuchgroup (ArgumentError)

@param name グループ名を指定します。

@raise ArgumentError 引数で指定したグループが存在しない場合に発生します。

Process::GID.#re_exchange -> Integer (33025.0)

現在のプロセスの実グループ ID と実効グループ ID を入れ替えます。 保存ユーザ ID は新しい実効ユーザ ID と同じになります。 新しい実効グループ ID を返します。

現在のプロセスの実グループ ID と実効グループ ID を入れ替えます。
保存ユーザ ID は新しい実効ユーザ ID と同じになります。
新しい実効グループ ID を返します。

利用できるかはプラットフォームに依存します。

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

[Process.gid, Process.egid] #=> [0, 33]
Process::GID.re_exchange #=> 0
[Process.gid, Process.egid] #=> [...

Process::Sys.#getegid -> Integer (33025.0)

システムコールの getegid(2) を呼びます。返り値を整数で返します。

システムコールの getegid(2) を呼びます。返り値を整数で返します。

@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。

Process::Sys.#geteuid -> Integer (33025.0)

システムコールの geteuid(2) を呼びます。返り値を整数で返します。

システムコールの geteuid(2) を呼びます。返り値を整数で返します。

@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。

絞り込み条件を変える

Process::Sys.#getgid -> Integer (33025.0)

システムコールの getgid(2) を呼びます。返り値を整数で返します。

システムコールの getgid(2) を呼びます。返り値を整数で返します。

@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。

Process::Sys.#getuid -> Integer (33025.0)

システムコールの getuid(2) を呼びます。返り値を整数で返します。

システムコールの getuid(2) を呼びます。返り値を整数で返します。

@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。

Process::Sys.#issetugid -> bool (33025.0)

システムコールの issetugid() を呼びます。

システムコールの issetugid() を呼びます。

プロセスが setuid もしくは setgid ビットを使って
起動されている場合に真を返します。

@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。

Process::UID.#from_name(name) -> Integer (33025.0)

引数で指定した名前の実ユーザ ID を返します。

引数で指定した名前の実ユーザ ID を返します。

Process::UID.from_name("root") # => 0
Process::UID.from_name("nosuchuser") # => can't find user for nosuchuser (ArgumentError)

@param name ユーザ名を指定します。

@raise ArgumentError 引数で指定したユーザが存在しない場合に発生します。

Process::UID.#re_exchange -> Integer (33025.0)

実ユーザ ID と実効ユーザ ID とを入れ換えます。 保存ユーザ ID は新しい実効ユーザ ID と同じになります。 新しい実効ユーザ ID を返します。

実ユーザ ID と実効ユーザ ID とを入れ換えます。
保存ユーザ ID は新しい実効ユーザ ID と同じになります。
新しい実効ユーザ ID を返します。

利用できるかはプラットフォームに依存します。

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

絞り込み条件を変える

Kernel.#lambda -> Proc (25123.0)

与えられたブロックから手続きオブジェクト (Proc のインスタンス) を生成して返します。Proc.new に近い働きをします。

与えられたブロックから手続きオブジェクト (Proc のインスタンス)
を生成して返します。Proc.new に近い働きをします。

ブロックが指定されなければ、呼び出し元のメソッドで指定されたブロック
を手続きオブジェクトとして返します。呼び出し元のメソッドがブロックなし
で呼ばれると ArgumentError 例外が発生します。

ただし、ブロックを指定しない呼び出しは推奨されていません。呼び出し元のメソッドで指定されたブロック
を得たい場合は明示的に & 引数でうけるべきです。

ブロックを指定しない lambda は Ruby 2.6 までは警告メッセージ
「warning: tr...

Kernel.#lambda { ... } -> Proc (25123.0)

与えられたブロックから手続きオブジェクト (Proc のインスタンス) を生成して返します。Proc.new に近い働きをします。

与えられたブロックから手続きオブジェクト (Proc のインスタンス)
を生成して返します。Proc.new に近い働きをします。

ブロックが指定されなければ、呼び出し元のメソッドで指定されたブロック
を手続きオブジェクトとして返します。呼び出し元のメソッドがブロックなし
で呼ばれると ArgumentError 例外が発生します。

ただし、ブロックを指定しない呼び出しは推奨されていません。呼び出し元のメソッドで指定されたブロック
を得たい場合は明示的に & 引数でうけるべきです。

ブロックを指定しない lambda は Ruby 2.6 までは警告メッセージ
「warning: tr...

Kernel.#set_trace_func(proc) -> Proc (24871.0)

Ruby インタプリタのイベントをトレースする Proc オブジェクトとして 指定された proc を登録します。 nil を指定するとトレースがオフになります。

Ruby インタプリタのイベントをトレースする Proc オブジェクトとして
指定された proc を登録します。 nil を指定するとトレースがオフになります。

Ruby インタプリタがプログラムを実行する過程で、メソッドの呼び出しや
式の評価などのイベントが発生する度に、以下で説明する6個の引数とともに
登録された Proc オブジェクトを実行します。

標準添付の debug、tracer、
profile はこの組み込み関数を利用して実現されています。

=== ブロックパラメータの意味

渡す Proc オブジェクトのパラメータは
//emlist[][ruby]{
proc{|...

ObjectSpace.#define_finalizer(obj, proc) -> Array (24586.0)

obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。

obj が解放されるときに実行されるファイナライザ proc を
登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで
はなく追加登録されます。固定値 0 と proc を配列にして返します。

ブロックを指定した場合は、そのブロックがファイナライザになります。
obj の回収時にブロックは obj の ID (BasicObject#__id__)を引数とし
て実行されます。
しかし、後述の問題があるのでブロックでファイナライザを登録するのは難しいでしょう。

@param obj ファイナライザを登録したいオブジェクトを指定します。

@param proc ファイナライザ...

Signal.#trap(signal) { ... } -> String | Proc | nil (24439.0)

指定された割り込み signal に対するハンドラとして command を登録します。 指定したシグナルが捕捉された時には例外が発生せず、代わりに command が実行されます。 ブロックを指定した場合にはブロックをハンドラとして登録します。

指定された割り込み signal に対するハンドラとして
command を登録します。
指定したシグナルが捕捉された時には例外が発生せず、代わりに command が実行されます。
ブロックを指定した場合にはブロックをハンドラとして登録します。

trap は前回の trap で設定したハンドラを返します。
文字列を登録していた場合はそれを、
ブロックを登録していたらそれを Proc オブジェクトに変換して返します。
また何も登録されていないときも nil を返します。
ruby の仕組みの外でシグナルハンドラが登録された場合
(例えば拡張ライブラリが独自に sigaction を呼んだ場...

絞り込み条件を変える

Signal.#trap(signal, command) -> String | Proc | nil (24439.0)

指定された割り込み signal に対するハンドラとして command を登録します。 指定したシグナルが捕捉された時には例外が発生せず、代わりに command が実行されます。 ブロックを指定した場合にはブロックをハンドラとして登録します。

指定された割り込み signal に対するハンドラとして
command を登録します。
指定したシグナルが捕捉された時には例外が発生せず、代わりに command が実行されます。
ブロックを指定した場合にはブロックをハンドラとして登録します。

trap は前回の trap で設定したハンドラを返します。
文字列を登録していた場合はそれを、
ブロックを登録していたらそれを Proc オブジェクトに変換して返します。
また何も登録されていないときも nil を返します。
ruby の仕組みの外でシグナルハンドラが登録された場合
(例えば拡張ライブラリが独自に sigaction を呼んだ場...

Marshal.#load(port, proc = nil) -> object (24403.0)

port からマーシャルデータを読み込んで、元のオブジェクトと同 じ状態をもつオブジェクトを生成します。

port からマーシャルデータを読み込んで、元のオブジェクトと同
じ状態をもつオブジェクトを生成します。

proc として手続きオブジェクトが与えられた場合には読み込んだ
オブジェクトを引数にその手続きを呼び出します。

//emlist[例][ruby]{
str = Marshal.dump(["a", 1, 10 ** 10, 1.0, :foo])
p Marshal.load(str, proc {|obj| p obj})

# => "a"
# 1
# 10000000000
# 1.0
# :foo
# ["a", 1, 10000000000...

Marshal.#restore(port, proc = nil) -> object (24403.0)

port からマーシャルデータを読み込んで、元のオブジェクトと同 じ状態をもつオブジェクトを生成します。

port からマーシャルデータを読み込んで、元のオブジェクトと同
じ状態をもつオブジェクトを生成します。

proc として手続きオブジェクトが与えられた場合には読み込んだ
オブジェクトを引数にその手続きを呼び出します。

//emlist[例][ruby]{
str = Marshal.dump(["a", 1, 10 ** 10, 1.0, :foo])
p Marshal.load(str, proc {|obj| p obj})

# => "a"
# 1
# 10000000000
# 1.0
# :foo
# ["a", 1, 10000000000...

ObjectSpace.#define_finalizer(obj) {|id| ...} -> Array (24286.0)

obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。

obj が解放されるときに実行されるファイナライザ proc を
登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで
はなく追加登録されます。固定値 0 と proc を配列にして返します。

ブロックを指定した場合は、そのブロックがファイナライザになります。
obj の回収時にブロックは obj の ID (BasicObject#__id__)を引数とし
て実行されます。
しかし、後述の問題があるのでブロックでファイナライザを登録するのは難しいでしょう。

@param obj ファイナライザを登録したいオブジェクトを指定します。

@param proc ファイナライザ...

Marshal.#dump(obj, limit = -1) -> String (24115.0)

obj を指定された出力先に再帰的に出力します。

obj を指定された出力先に再帰的に出力します。

ファイルに書き出せないオブジェクトをファイルに書き出そうとすると
例外 TypeError が発生します。
ファイルに書き出せないオブジェクトは以下の通りです。

* 名前のついてない Class/Module オブジェクト。(この場
合は、例外 ArgumentError が発生します。無名クラスについて
は、Module.new を参照。)
* システムがオブジェクトの状態を保持するもの。具体的には以下のイン
スタンス。Dir, File::Stat, IO とそのサブクラス
File, Socket など。...

絞り込み条件を変える

Marshal.#dump(obj, port, limit = -1) -> IO (24115.0)

obj を指定された出力先に再帰的に出力します。

obj を指定された出力先に再帰的に出力します。

ファイルに書き出せないオブジェクトをファイルに書き出そうとすると
例外 TypeError が発生します。
ファイルに書き出せないオブジェクトは以下の通りです。

* 名前のついてない Class/Module オブジェクト。(この場
合は、例外 ArgumentError が発生します。無名クラスについて
は、Module.new を参照。)
* システムがオブジェクトの状態を保持するもの。具体的には以下のイン
スタンス。Dir, File::Stat, IO とそのサブクラス
File, Socket など。...

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

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

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

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

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

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

Enumerable#detect(ifnone = nil) -> Enumerator (24061.0)

要素に対してブロックを評価した値が真になった最初の要素を返します。

要素に対してブロックを評価した値が真になった最初の要素を返します。

真になる要素が見つからず、ifnone も指定されていないときは nil を返します。
真になる要素が見つからず、ifnone が指定されているときは ifnone を call した結果を返します。

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

@param ifnone call メソッドを持つオブジェクト (例えば Proc) を指定します。

//emlist[例][ruby]{
# 最初の 3 の倍数を探す
p [1, 2, 3, 4, 5].find {|i| i % 3 == 0 } ...

Enumerable#detect(ifnone = nil) {|item| ... } -> object (24061.0)

要素に対してブロックを評価した値が真になった最初の要素を返します。

要素に対してブロックを評価した値が真になった最初の要素を返します。

真になる要素が見つからず、ifnone も指定されていないときは nil を返します。
真になる要素が見つからず、ifnone が指定されているときは ifnone を call した結果を返します。

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

@param ifnone call メソッドを持つオブジェクト (例えば Proc) を指定します。

//emlist[例][ruby]{
# 最初の 3 の倍数を探す
p [1, 2, 3, 4, 5].find {|i| i % 3 == 0 } ...

Enumerable#find(ifnone = nil) -> Enumerator (24061.0)

要素に対してブロックを評価した値が真になった最初の要素を返します。

要素に対してブロックを評価した値が真になった最初の要素を返します。

真になる要素が見つからず、ifnone も指定されていないときは nil を返します。
真になる要素が見つからず、ifnone が指定されているときは ifnone を call した結果を返します。

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

@param ifnone call メソッドを持つオブジェクト (例えば Proc) を指定します。

//emlist[例][ruby]{
# 最初の 3 の倍数を探す
p [1, 2, 3, 4, 5].find {|i| i % 3 == 0 } ...

絞り込み条件を変える

Enumerable#find(ifnone = nil) {|item| ... } -> object (24061.0)

要素に対してブロックを評価した値が真になった最初の要素を返します。

要素に対してブロックを評価した値が真になった最初の要素を返します。

真になる要素が見つからず、ifnone も指定されていないときは nil を返します。
真になる要素が見つからず、ifnone が指定されているときは ifnone を call した結果を返します。

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

@param ifnone call メソッドを持つオブジェクト (例えば Proc) を指定します。

//emlist[例][ruby]{
# 最初の 3 の倍数を探す
p [1, 2, 3, 4, 5].find {|i| i % 3 == 0 } ...

Module#define_method(name) { ... } -> Symbol (24043.0)

インスタンスメソッド name を定義します。

インスタンスメソッド name を定義します。

ブロックを与えた場合、定義したメソッドの実行時にブロックが
レシーバクラスのインスタンスの上で BasicObject#instance_eval されます。

@param name メソッド名を String または Symbol を指定します。

@param method Proc、Method あるいは UnboundMethod の
いずれかのインスタンスを指定します。

@return メソッド名を表す Symbol を返します。

@raise TypeError method に同じクラス、サブクラス、モジュー...

Module#define_method(name, method) -> Symbol (24043.0)

インスタンスメソッド name を定義します。

インスタンスメソッド name を定義します。

ブロックを与えた場合、定義したメソッドの実行時にブロックが
レシーバクラスのインスタンスの上で BasicObject#instance_eval されます。

@param name メソッド名を String または Symbol を指定します。

@param method Proc、Method あるいは UnboundMethod の
いずれかのインスタンスを指定します。

@return メソッド名を表す Symbol を返します。

@raise TypeError method に同じクラス、サブクラス、モジュー...

main.define_method(name) { ... } -> Symbol (24043.0)

インスタンスメソッド name を Object に定義します。

インスタンスメソッド name を Object に定義します。

ブロックを与えた場合、定義したメソッドの実行時にブロックが
Object インスタンスの上で BasicObject#instance_eval されます。

@param name String または Symbol を指定します。

@param method Proc、Method あるいは UnboundMethod の
いずれかのインスタンスを指定します。

@return メソッド名を表す Symbol を返します。

@raise TypeError method に同じクラス、サブ...

main.define_method(name, method) -> Symbol (24043.0)

インスタンスメソッド name を Object に定義します。

インスタンスメソッド name を Object に定義します。

ブロックを与えた場合、定義したメソッドの実行時にブロックが
Object インスタンスの上で BasicObject#instance_eval されます。

@param name String または Symbol を指定します。

@param method Proc、Method あるいは UnboundMethod の
いずれかのインスタンスを指定します。

@return メソッド名を表す Symbol を返します。

@raise TypeError method に同じクラス、サブ...

絞り込み条件を変える

Hash.new(ifnone = nil) -> Hash (24019.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]
//}

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