るりまサーチ (Ruby 2.1.0)

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

別のキーワード

  1. _builtin to_proc
  2. _builtin proc
  3. proc curry
  4. httpserver mount_proc
  5. readline completion_proc

クラス

モジュール

オブジェクト

キーワード

検索結果

<< 1 2 > >>

Kernel.#proc -> Proc (46441.0)

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

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

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

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

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

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

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

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

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

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

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

Proc#curry -> Proc (27523.0)

Procをカリー化します

Procをカリー化します

カリー化したProcはいくつかの引数をとります。十分な数の引数が与えられると、元のProcに引数を渡し
て実行し、結果を返します。引数の個数が足りないときは、部分適用したカリー化Procを返します。

@param arity 引数の個数を指定します
@return カリー化したProcオブジェクトを返します

//emlist[例][ruby]{
b = proc {|x, y, z| (x||0) + (y||0) + (z||0) }
p b.curry[1][2][3] #=> 6
p b.curry[1, 2][3, 4] ...

Proc#curry(arity) -> Proc (27523.0)

Procをカリー化します

Procをカリー化します

カリー化したProcはいくつかの引数をとります。十分な数の引数が与えられると、元のProcに引数を渡し
て実行し、結果を返します。引数の個数が足りないときは、部分適用したカリー化Procを返します。

@param arity 引数の個数を指定します
@return カリー化したProcオブジェクトを返します

//emlist[例][ruby]{
b = proc {|x, y, z| (x||0) + (y||0) + (z||0) }
p b.curry[1][2][3] #=> 6
p b.curry[1, 2][3, 4] ...

Proc.new -> Proc (27493.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 (27493.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)
が発生します。

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

Process.#setproctitle(title) -> String (27325.0)

ps(1) が出力する現在実行中の Ruby スクリプトの名前を引数 title で指定した文字列に変更します。

ps(1) が出力する現在実行中の Ruby スクリプトの名前を引数 title
で指定した文字列に変更します。

OS によっては何も行われません。また、処理結果に関係なく例外は発生しませ
ん。サポートされる OS ではない場合であっても NotImplementedError
が発生する事はありません。本メソッドを実行しても $0 への影響はあ
りません。

Process.setproctitle('myapp: worker #%d' % worker_id)

本メソッドは 2.1 以降でグローバル変数を用いないで現在実行中の Ruby スク
リプトの名前を表す文字列を設定す...

Proc#source_location -> [String, Integer] | nil (27097.0)

ソースコードのファイル名と行番号を配列で返します。

ソースコードのファイル名と行番号を配列で返します。

その手続オブジェクトが ruby で定義されていない(つまりネイティブ
である)場合は nil を返します。


//emlist[例][ruby]{
# /path/to/target.rb を実行
proc {}.source_location # => ["/path/to/target.rb", 1]
proc {}.source_location # => ["/path/to/target.rb", 2]
(eval "proc {}").source_location # => ...

Proc#parameters -> [object] (27091.0)

Proc オブジェクトの引数の情報を返します。

Proc オブジェクトの引数の情報を返します。

Proc オブジェクトが引数を取らなければ空の配列を返します。引数を取る場合は、配列の配列を返し、
各配列の要素は引数の種類に対応した以下のような Symbol と、引数名を表す Symbol の 2 要素です。

: :req
必須の引数
: :opt
デフォルト値が指定されたオプショナルな引数
: :rest
* で指定された残りすべての引数
: :keyreq
必須のキーワード引数
: :key
デフォルト値が指定されたオプショナルなキーワード引数
: :keyrest
** で指定された残りのキーワード引数
: :block...

Proc#===(*arg) -> () (27079.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) -> () (27079.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) -> () (27079.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) -> () (27079.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...

Symbol#to_proc -> Proc (18787.0)

self に対応する Proc オブジェクトを返します。

self に対応する Proc オブジェクトを返します。

生成される Proc オブジェクトを呼びだす(Proc#call)と、
Proc#callの第一引数をレシーバとして、 self という名前のメソッドを
残りの引数を渡して呼びだします。


//emlist[明示的に呼ぶ例][ruby]{
:to_i.to_proc["ff", 16] # => 255 ← "ff".to_i(16)と同じ
//}

//emlist[暗黙に呼ばれる例][ruby]{
# メソッドに & とともにシンボルを渡すと
# to_proc が呼ばれて Proc 化され、
# それがブロックとして渡される...

Hash#default_proc -> Proc | nil (18733.0)

ハッシュのデフォルト値を返す Proc オブジェクトを返します。 ハッシュがブロック形式のデフォルト値を持たない場合 nil を返します。

ハッシュのデフォルト値を返す Proc オブジェクトを返します。
ハッシュがブロック形式のデフォルト値を持たない場合 nil を返します。

//emlist[例][ruby]{
h = Hash.new {|hash, key| "The #{key} not exist in #{hash.inspect}"}
p h.default #=> nil
p block = h.default_proc #=> #<Proc:0x0x401a9ff4>
p block.call({},:foo) #=> "The foo not exist in {}"

h...

絞り込み条件を変える

Hash#default_proc=(pr) (18574.0)

ハッシュのデフォルト値を返す Proc オブジェクトを 変更します。

ハッシュのデフォルト値を返す Proc オブジェクトを
変更します。

以前のデフォルトは値(Hash#default)の場合も
Proc の場合(Hash#default_proc)でも上書きされます。

引数には to_proc で Proc オブジェクトに変換できる
オブジェクトも受け付けます。

nil を指定した場合は現在の Hash#default_proc をクリアします。

@param pr デフォルト値を返す手続きオブジェクト

//emlist[例][ruby]{
h = {}
h.default_proc = proc do |hash, key|
hash[ke...

Process.#wait2(pid = -1, flags = 0) -> [Integer, Process::Status] | nil (9379.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 (9379.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.#times -> Process::Tms (9343.0)

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

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

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

@see Process::Tms

Process.#setrlimit(resource, cur_limit, max_limit) -> nil (9133.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 (9133.0)

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

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

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

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

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

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

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

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

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

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

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

* 0 ...

Process.#setpriority(which, who, prio) -> 0 (9115.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.#getpriority(which, who) -> Integer (9097.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.#groups=(gids) (9097.0)

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

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

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

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

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

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

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

絞り込み条件を変える

Process.#setpgid(pid, pgrp) -> 0 (9097.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::Sys.#setresgid(rid, eid, sid) -> nil (9097.0)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Process.#clock_gettime(clock_id, unit=:float_second) -> Float | Integer (9079.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.#daemon(nochdir = nil, noclose = nil) -> 0 (9079.0)

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

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

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

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


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

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

絞り込み条件を変える

Process.#egid=(gid) (9079.0)

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

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

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

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

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

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

@see Process::GID.#eid=

Process.#euid=(uid) (9079.0)

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

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

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

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

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

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

@see Process::UID.#eid=

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

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

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

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

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

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

@see getpgid(2)

Process.#getrlimit(resource) -> [Integer] (9079.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) (9079.0)

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

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

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

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

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

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

@see Process::GID

絞り込み条件を変える

Process.#uid=(id) (9079.0)

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

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

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

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

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

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

@see Process::UID

Process.#wait(pid = -1, flags = 0) -> Integer | nil (9079.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 (9079.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::Sys.#setregid(rid, eid) -> nil (9079.0)

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

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

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

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

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

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

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

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

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

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

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

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

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

絞り込み条件を変える

Process.#getpgrp -> Integer (9061.0)

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

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

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

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

@see getpgrp(2)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Process.#setpgrp -> 0 (9061.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.#setsid -> Integer (9061.0)

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

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

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

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

@see setsid(2)

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

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

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

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

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

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

Process::GID.#change_privilege(id) -> Integer (9061.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) (9061.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 (9061.0)

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

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

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

絞り込み条件を変える

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

絞り込み条件を変える

Process::UID.#change_privilege(id) -> Integer (9061.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) (9061.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 (9061.0)

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

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

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

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

利用できるか...

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

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

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

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

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

pid = fork {
# child
sleep 3
}

p pid # => 7762
th...

Process.#maxgroups -> Integer (9043.0)

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

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

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

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

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

絞り込み条件を変える

Process.#maxgroups=(num) (9043.0)

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

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

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

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

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

Process.exec(command, *args) -> () (9043.0)

カレントプロセスを与えられた外部コマンドで置き換えます。

カレントプロセスを与えられた外部コマンドで置き換えます。


=== 引数の解釈

引数が一つだけ与えられた場合、command が shell のメタ文字
//emlist{
* ? {} [] <> () ~ & | \ $ ; ' ` " \n
//}
を含む場合、shell 経由で実行されます。
そうでなければインタプリタから直接実行されます。

引数が複数与えられた場合、第 2 引数以降は command に直接渡され、
インタプリタから直接実行されます。

第 1 引数が 2 要素の配列の場合、第 1 要素の文字列が実際に起動する
プログラムのパスで、第 2 要素が「みせかけ...

Process.exit!(status = false) -> () (9043.0)

関数 Kernel.#exit! と同じです。

関数 Kernel.#exit! と同じです。

@param status 終了ステータスを boolean か整数で指定します。true の場合は成功を、false は失敗を意味します。

@see _exit(2)

Process.exit(status = true) -> () (9043.0)

プロセスを終了します。関数 Kernel.#exit と同じです。

プロセスを終了します。関数 Kernel.#exit と同じです。

@param status 終了ステータスを boolean か整数で指定します。true の場合は成功を、false は失敗を意味します。

@see exit(3)

Process.fork -> Integer | nil (9043.0)

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

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

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

@see fork(2)

絞り込み条件を変える

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

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

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

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

@see fork(2)

Process::GID.#from_name(name) -> Integer (9043.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.#switch -> Integer (9043.0)

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

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

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

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

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

@raise Errno::E...

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

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

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

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

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

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

@raise Errno::E...

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

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

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

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

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

絞り込み条件を変える

Process::UID.#from_name(name) -> Integer (9043.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.#switch -> Integer (9043.0)

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

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

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

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

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

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

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

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

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

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

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

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

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

Process.#argv0 -> String (9025.0)

現在実行中の Ruby スクリプトの名前を表す文字列です。$0 を更新して も本メソッドの戻り値への影響はありません。

現在実行中の Ruby スクリプトの名前を表す文字列です。$0 を更新して
も本メソッドの戻り値への影響はありません。

本メソッドは 2.1 以降でグローバル変数を用いないで現在実行中の Ruby スク
リプトの名前を表す文字列を取得する手段として提供されました。

@see Process.#setproctitle, $0

Process.#egid -> Integer (9025.0)

カレントプロセスの実効グループ ID を整数で返します。

カレントプロセスの実効グループ ID を整数で返します。

@see getegid(2)

絞り込み条件を変える

Process.#euid -> Integer (9025.0)

カレントプロセスの実効ユーザ ID を整数で返します。

カレントプロセスの実効ユーザ ID を整数で返します。

@see geteuid(2)

Process.#gid -> Integer (9025.0)

カレントプロセスの実グループ ID を返します。

カレントプロセスの実グループ ID を返します。

@see getgid(2)

Process.#pid -> Integer (9025.0)

カレントプロセスのプロセス ID を返します。変数 $$ の値と同じです。

カレントプロセスのプロセス ID を返します。変数 $$
の値と同じです。

@see getpid(2)

Process.#ppid -> Integer (9025.0)

親プロセスのプロセス ID を返します。UNIX では実際の親プロセスが終 了した後は ppid は 1 (initの pid)になります。

親プロセスのプロセス ID を返します。UNIX では実際の親プロセスが終
了した後は ppid は 1 (initの pid)になります。

@see getppid(2)

Process.#uid -> Integer (9025.0)

プロセスの実ユーザ ID を返します。

プロセスの実ユーザ ID を返します。

@see getuid(2)

絞り込み条件を変える

Process.abort -> () (9025.0)

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

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

@param message 終了時のメッセージを文字列で指定します。

Process.abort(message) -> () (9025.0)

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

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

@param message 終了時のメッセージを文字列で指定します。

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

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

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

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

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

Process.egid #=> 500

Process::GID.#re_exchange -> Integer (9025.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::Status#&(other) -> Integer (9025.0)

self.to_i & other と同じです。 このメソッドは後方互換性のためにあります。

self.to_i & other と同じです。
このメソッドは後方互換性のためにあります。

@param other 自身との & 演算をしたい整数を指定します。

絞り込み条件を変える

Process::Status#==(other) -> bool (9025.0)

同じステータスの場合に真を返します。

同じステータスの場合に真を返します。

other が数値の場合、self.to_i との比較が行われます。こ
れは後方互換性のためです。

@param other 自身と比較したいオブジェクトを指定します。

Process::Status#>>(num) -> Integer (9025.0)

self.to_i >> num と同じです。

self.to_i >> num と同じです。

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

fork { exit 99 } #=> 26563
Process.wait #=> 26563
$?.to_i #=> 25344
$? >> 8 #=> 99

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

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

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

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

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

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

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

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

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

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

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

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

絞り込み条件を変える

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

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

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

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

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

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

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

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

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

Process::Tms (9025.0)

Process.#times の返り値を表現する構造体です。

Process.#times の返り値を表現する構造体です。

この機能がサポートされているプラットフォーム上でプロセスの
処理時間に関する情報を保持します。プラットフォームによっては
使えない値があります。

@see Process.#times

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

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

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

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

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

Process::WUNTRACED -> Integer (9025.0)

Process.#waitpid の第二引数に指定するフラグです。 このフラグが指定された場合、waitpid は停止しているだけで 終了していない子プロセスのプロセス ID も返すようになります。 trace されている子プロセスの ID は返しません。

Process.#waitpid の第二引数に指定するフラグです。
このフラグが指定された場合、waitpid は停止しているだけで
終了していない子プロセスのプロセス ID も返すようになります。
trace されている子プロセスの ID は返しません。

include Process
pid = fork{ Process.kill('SIGSTOP', Process.pid) }
p pid #=> 4336
p waitpid2(pid, WUNTRACED) #=> [4336, #<Process::Statu...

絞り込み条件を変える

Kernel.#lambda -> Proc (1141.0)

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

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

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

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

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

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

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

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

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

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

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

Kernel.#set_trace_func(proc) -> Proc (871.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 (604.0)

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

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

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

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

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

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

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

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

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

絞り込み条件を変える

<< 1 2 > >>