るりまサーチ (Ruby 2.2.0)

最速Rubyリファレンスマニュアル検索!
97件ヒット [1-97件を表示] (0.109秒)
トップページ > クエリ:i[x] > クエリ:exit[x] > バージョン:2.2.0[x]

別のキーワード

  1. _builtin to_i
  2. fiddle to_i
  3. matrix elements_to_i
  4. matrix i
  5. csv to_i

モジュール

検索結果

Monitor#exit -> () (81724.0)

MonitorMixin#mon_exit の別名です。

MonitorMixin#mon_exit の別名です。

enter でロックした回数だけ exit を呼ばなければモニターは解放されません。

モニターが解放されればモニターのロック待ちになっていた
スレッドが一つ実行を再開します。

@raise ThreadError ロックを持っていないスレッドが呼びだした場合に発生します

//emlist[例][ruby]{
require 'monitor'
mon = Monitor.new
mon.enter
mon.enter
mon.exit
mon.exit
mon.exit # => current thread not owner...

irb (78325.0)

irb は Interactive Ruby の略です。 irb を使うと、Ruby の式を標準入力から簡単に入力・実行することができます。

irb は Interactive Ruby の略です。
irb を使うと、Ruby の式を標準入力から簡単に入力・実行することができます。

=== irb の使い方

Ruby さえ知っていれば irb を使うのは簡単です。
irb コマンドを実行すると、以下のようなプロンプトが表れます。

$ irb
irb(main):001:0>

あとは Ruby の式を入力するだけで、その式が実行され、結果が表示されます。

irb(main):001:0> 1+2
3
irb(main):002:0> class Foo
irb(main):003:1> def f...

Kernel.#exit(status = true) -> () (72730.0)

Rubyプログラムの実行を終了します。status として整 数が与えられた場合、その値を Ruby コマンドの終了ステータスとします。 デフォルトの終了ステータスは 0(正常終了)です。

Rubyプログラムの実行を終了します。status として整
数が与えられた場合、その値を Ruby コマンドの終了ステータスとします。
デフォルトの終了ステータスは 0(正常終了)です。

status が true の場合 0、 false の場合 1 を引数に指定したとみなされます。この値はCレベルの定数
EXIT_SUCCESS、EXIT_FAILURE の値なので、正確には環境依存です。

exit は例外 SystemExit を発生させ
ることによってプログラムの実行を終了させますので、
必要に応じて begin 節で捕捉することができます。

@param status 終了...

Thread#exit -> self (72676.0)

スレッドの実行を終了させます。終了時に ensure 節が実行されます。

スレッドの実行を終了させます。終了時に ensure 節が実行されます。

ただし、スレッドは終了処理中(aborting)にはなりますが、
直ちに終了するとは限りません。すでに終了している場合は何もしません。このメソッドにより
終了したスレッドの Thread#value の返り値は不定です。
自身がメインスレッドであるか最後のスレッドである場合は、プロセスを Kernel.#exit(0)
により終了します。

Kernel.#exit と違い例外 SystemExit を発生しません。

th1 = Thread.new do
begin
sleep 10
...

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

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

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

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

@see exit(3)

絞り込み条件を変える

Thread.exit -> () (72652.0)

カレントスレッドに対して Thread#exit を呼びます。

カレントスレッドに対して Thread#exit を呼びます。

IRB::Context#exit(ret = 0) -> object (72622.0)

irb を終了します。ret で指定したオブジェクトを返します。

irb を終了します。ret で指定したオブジェクトを返します。

@param ret 戻り値を指定します。

@see IRB.irb_exit

Shell::ProcessController::USING_AT_EXIT_WHEN_PROCESS_EXIT -> true (54907.0)

@todo

@todo

IRB.irb_exit(irb, ret) -> object (45904.0)

irb を終了します。ret で指定したオブジェクトを返します。

irb を終了します。ret で指定したオブジェクトを返します。

@param irb 現在の IRB::Irb オブジェクトを指定します。

@param ret 戻り値を指定します。

ユーザが直接使用するものではありません。

IRB.irb_at_exit -> () (45652.0)

at_exit で登録された処理を実行します。

at_exit で登録された処理を実行します。

ユーザが直接使用するものではありません。

絞り込み条件を変える

MonitorMixin#mon_exit -> () (45622.0)

モニターのロックを解放します。

モニターのロックを解放します。

mon_enter でロックした回数だけ mon_exit を
呼ばなければモニターは解放されません。

モニターが解放されればモニターのロック待ちになっていた
スレッドが一つ実行を再開します。

@raise ThreadError ロックを持っていないスレッドが呼びだした場合に発生します

IRB::ExtendCommandBundle#irb_exit(ret = 0) -> object (45604.0)

irb を終了します。ret で指定したオブジェクトを返します。

irb を終了します。ret で指定したオブジェクトを返します。

@param ret 戻り値を指定します。

ユーザが直接使用するものではありません。

void rb_gc_call_finalizer_at_exit(void) (36901.0)

Kernel.#at_exit { ... } -> Proc (36820.0)

与えられたブロックをインタプリタ終了時に実行します。

与えられたブロックをインタプリタ終了時に実行します。

at_exitがメソッドである点を除けば、END ブロックによる終了
処理の登録と同等です。登録した処理を取り消すことはできません。
spec/terminateも参照してください。

@return 登録した処理を Proc オブジェクトで返します。

//emlist[例][ruby]{
3.times do |i|
at_exit{puts "at_exit#{i}"}
end
END{puts "END"}
at_exit{puts "at_exit"}
puts "main_end"

#=> main_end
# a...

Kernel.#exit!(status = false) -> () (36730.0)

Rubyプログラムの実行を即座に終了します。 status として整数が与えられた場合、その値を Ruby コマンドの終了ステータスとします。 デフォルトの終了ステータスは 1 です。

Rubyプログラムの実行を即座に終了します。
status として整数が与えられた場合、その値を Ruby コマンドの終了ステータスとします。
デフォルトの終了ステータスは 1 です。

status が true の場合 0、 false の場合 1 を引数に指定したとみなされます。この値はCレベルの定数
EXIT_SUCCESS、EXIT_FAILURE の値なので、正確には環境依存です。

exit! は exit とは違って、例外処理などは一切行ないませ
ん。 Kernel.#fork の後、子プロセスを終了させる時などに用
いられます。

@param status 終了ステータス...

絞り込み条件を変える

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

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

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

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

@see _exit(2)

Process::Status#exited? -> bool (36649.0)

プロセスが exit(2) などにより正常に終了した場合に、真を返します。 そうでない場合に false を返します。

プロセスが exit(2) などにより正常に終了した場合に、真を返します。
そうでない場合に false を返します。

LocalJumpError#exit_value -> object (36640.0)

例外 LocalJumpError を発生する原因となった break や return に渡した値を返します。

例外 LocalJumpError を発生する原因となった
break や return に渡した値を返します。

例:

def foo
proc { return 10 }
end

begin
foo.call
rescue LocalJumpError => err
p err # => #<LocalJumpError: return from block-closure>
p err.reason # => :return
p err.exit_value # => 10
e...

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

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

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

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

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

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

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

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

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

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

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

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

絞り込み条件を変える

Process::Status#exitstatus -> Integer | nil (36601.0)

exited? が真の場合プロセスが返した終了ステータスの整数を、そ うでない場合は nil を返します。

exited? が真の場合プロセスが返した終了ステータスの整数を、そ
うでない場合は nil を返します。

static VALUE localjump_exitstatus(VALUE exc) (36601.0)

static VALUE rb_f_at_exit(void) (36601.0)

static VALUE rb_f_exit(int argc, VALUE *argv, VALUE obj) (36601.0)

static VALUE rb_thread_exit(void) (36601.0)

絞り込み条件を変える

void rb_exit(int status) (36601.0)

ステータス status でインタプリタを終了させます。

ステータス status でインタプリタを終了させます。

Gem::SystemExitException (36001.0)

何らかの理由でコマンドを実行出来ない場合に使用する例外です。

何らかの理由でコマンドを実行出来ない場合に使用する例外です。

PTY::ChildExited (36001.0)

子プロセスが終了したり停止した場合に発生する例外です。

子プロセスが終了したり停止した場合に発生する例外です。

SystemExit (36001.0)

Ruby インタプリタを終了させるときに発生します。

Ruby インタプリタを終了させるときに発生します。

Readline.#readline(prompt = "", add_hist = false) -> String | nil (27637.0)

prompt を出力し、ユーザからのキー入力を待ちます。 エンターキーの押下などでユーザが文字列を入力し終えると、 入力した文字列を返します。 このとき、add_hist が true であれば、入力した文字列を入力履歴に追加します。 何も入力していない状態で EOF(UNIX では ^D) を入力するなどで、 ユーザからの入力がない場合は nil を返します。

prompt を出力し、ユーザからのキー入力を待ちます。
エンターキーの押下などでユーザが文字列を入力し終えると、
入力した文字列を返します。
このとき、add_hist が true であれば、入力した文字列を入力履歴に追加します。
何も入力していない状態で EOF(UNIX では ^D) を入力するなどで、
ユーザからの入力がない場合は nil を返します。

本メソッドはスレッドに対応しています。
入力待ち状態のときはスレッドコンテキストの切替えが発生します。

入力時には行内編集が可能で、vi モードと Emacs モードが用意されています。
デフォルトは Emacs モードです。
...

絞り込み条件を変える

Thread#kill -> self (27376.0)

スレッドの実行を終了させます。終了時に ensure 節が実行されます。

スレッドの実行を終了させます。終了時に ensure 節が実行されます。

ただし、スレッドは終了処理中(aborting)にはなりますが、
直ちに終了するとは限りません。すでに終了している場合は何もしません。このメソッドにより
終了したスレッドの Thread#value の返り値は不定です。
自身がメインスレッドであるか最後のスレッドである場合は、プロセスを Kernel.#exit(0)
により終了します。

Kernel.#exit と違い例外 SystemExit を発生しません。

th1 = Thread.new do
begin
sleep 10
...

Thread#terminate -> self (27376.0)

スレッドの実行を終了させます。終了時に ensure 節が実行されます。

スレッドの実行を終了させます。終了時に ensure 節が実行されます。

ただし、スレッドは終了処理中(aborting)にはなりますが、
直ちに終了するとは限りません。すでに終了している場合は何もしません。このメソッドにより
終了したスレッドの Thread#value の返り値は不定です。
自身がメインスレッドであるか最後のスレッドである場合は、プロセスを Kernel.#exit(0)
により終了します。

Kernel.#exit と違い例外 SystemExit を発生しません。

th1 = Thread.new do
begin
sleep 10
...

Timeout.#timeout(sec, exception_class = nil) {|i| ... } -> object (27340.0)

ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。

ブロックを sec 秒の期限付きで実行します。
ブロックの実行時間が制限を過ぎたときは例外
Timeout::Error が発生します。

exception_class を指定した場合には Timeout::Error の代わりに
その例外が発生します。
ブロックパラメータ i は sec がはいります。

また sec が 0 もしくは nil のときは制限時間なしで
ブロックを実行します。

@param sec タイムアウトする時間を秒数で指定します.
@param exception_class タイムアウトした時、発生させる例外を指定します.

例 長い計算のタイムアウト
r...

Etc::SC_ATEXIT_MAX -> Integer (18604.0)

Etc.#sysconf の引数に指定します。

Etc.#sysconf の引数に指定します。

詳細は sysconf(3) を参照してください。

SystemExit.new(status = 0, error_message = "") -> SystemExit (18601.0)

SystemExit オブジェクトを生成して返します。

SystemExit オブジェクトを生成して返します。

@param status 終了ステータスを整数で指定します。

@param error_message エラーメッセージを文字列で指定します。

例:

ex = SystemExit.new(1)
p ex.status # => 1

絞り込み条件を変える

OptionParser#on_tail(*arg, &block) -> self (18373.0)

オプションを取り扱うためのブロックを自身の持つリストの最後に登録します。

オプションを取り扱うためのブロックを自身の持つリストの最後に登録します。

--version や --help の説明をサマリの最後に表示したい時に便利です。

@param arg OptionParser#on と同様です。

@param block OptionParser#on と同様です。

//emlist[例][ruby]{
require "optparse"

opts = OptionParser.new do |opts|
opts.on_head("-i", "--init")
opts.on("-u", "--update")
opts.on_tai...

Open3.#pipeline(*cmds) -> [Process::Status] (18355.0)

指定したコマンドのリストをパイプで繋いで順番に実行します。

指定したコマンドのリストをパイプで繋いで順番に実行します。

@param cmds 実行するコマンドのリストを指定します。それぞれのコマンドは
以下のように String か Array で指定します。
commandline にはコマンド全体(例. "nroff -man")を表す
String を指定します。
options には Hash で指定します。
env には環境変数を Hash で指定します。
cmdname にはコマンド名を表す ...

SystemExit#status -> Integer (18355.0)

例外オブジェクトに保存された終了ステータスを返します。

例外オブジェクトに保存された終了ステータスを返します。

終了ステータスは Kernel.#exit や SystemExit.new などで設定されます。

例:

begin
exit 1
rescue SystemExit => err
p err.status # => 1
end

begin
raise SystemExit.new(1, "dummy exit")
rescue SystemExit => err
p err.status # => 1
end

Thread.kill(thread) -> Thread (18349.0)

指定したスレッド thread に対して Thread#exit を呼びます。終了したスレッドを返します。

指定したスレッド thread に対して Thread#exit を呼びます。終了したスレッドを返します。

@param thread 終了したい Thread オブジェクトを指定します。

th = Thread.new do
end

p Thread.kill(th) #=> #<Thread:0x40221bc8 dead>

WIN32OLE_TYPE.progids -> [String] (18337.0)

システムに登録されているすべてのコンポーネントクラスのPROGIDを取得します。

システムに登録されているすべてのコンポーネントクラスのPROGIDを取得します。

@return システムに登録されているすべてのコンポーネントクラスのPROGIDを
文字列配列で返します。

excel = nil
WIN32OLE_TYPE.progids.each do |pg|
if pg =~ /excel\.application/i # ExcelのPROGIDをバージョン無視で取り出す
excel = WIN32OLE.new(pg)
break
end
end
unless excel
$s...

絞り込み条件を変える

Process::Status#to_i -> Integer (18322.0)

C 言語での終了ステータス表現の整数を返します。

C 言語での終了ステータス表現の整数を返します。

多くのシステムの実装では、この値の上位 8 bit に exit(2)
に渡した終了ステータスが、下位 8 bit にシグナル等で終了した等の情
報が入っています。

Open3.#pipeline_r(*cmds) -> [IO, [Thread]] (18319.0)

指定したコマンドのリストをパイプで繋いで順番に実行します。最後の コマンドの標準出力を受けとる事ができます。

指定したコマンドのリストをパイプで繋いで順番に実行します。最後の
コマンドの標準出力を受けとる事ができます。

@param cmds 実行するコマンドのリストを指定します。それぞれのコマンドは
以下のように String か Array で指定します。
commandline にはコマンド全体(例. "nroff -man")を表す
String を指定します。
options には Hash で指定します。
env には環境変数を Hash で指定します。
...

Open3.#pipeline_r(*cmds) {|last_stdout, wait_thrs| ... } -> () (18319.0)

指定したコマンドのリストをパイプで繋いで順番に実行します。最後の コマンドの標準出力を受けとる事ができます。

指定したコマンドのリストをパイプで繋いで順番に実行します。最後の
コマンドの標準出力を受けとる事ができます。

@param cmds 実行するコマンドのリストを指定します。それぞれのコマンドは
以下のように String か Array で指定します。
commandline にはコマンド全体(例. "nroff -man")を表す
String を指定します。
options には Hash で指定します。
env には環境変数を Hash で指定します。
...

Process.#wait(pid = -1, flags = 0) -> Integer | nil (18319.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.#wait2(pid = -1, flags = 0) -> [Integer, Process::Status] | nil (18319.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.#waitall -> [[Integer, Process::Status]] (18319.0)

全ての子プロセスが終了するのを待ちます。 終了した子プロセスの pid と終了ステータス (Process::Status) の配列の配列を返します。 子プロセスがいない状態でこのメソッドを呼び出すと空の配列を返します。

全ての子プロセスが終了するのを待ちます。
終了した子プロセスの pid と終了ステータス
(Process::Status) の配列の配列を返します。
子プロセスがいない状態でこのメソッドを呼び出すと空の配列を返します。

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

2.times {|n|
Process.fork() { exit n }
}
p Process.waitall
#=> :Status: pid=2766,exited(1)>], [2765, #<Process::St...

Process.#waitpid(pid = -1, flags = 0) -> Integer | nil (18319.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 (18319.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 な...

Interrupt (18037.0)

SIGINT シグナルを捕捉していないときに SIGINT シグナルを受け取ると発生します。 SIGINT 以外のシグナルを受信したときに発生する例外については SignalException を参照してください。

SIGINT シグナルを捕捉していないときに
SIGINT シグナルを受け取ると発生します。
SIGINT 以外のシグナルを受信したときに発生する例外については
SignalException を参照してください。

使用例

=begin
#SIGINTを捕捉したい場合
Signal.trap('INT'){
print "\nINTを捕捉した。\n"
exit 1
}
=end

begin
begin
print "z"
$stdout.flush
sleep(1)
end while true
...

OptionParser (18037.0)

コマンドラインのオプションを取り扱うためのクラスです。

コマンドラインのオプションを取り扱うためのクラスです。

オプションが指定された時に呼ばれるブロックを
OptionParser#on メソッドで登録していきます。
つまり、OptionParser を使う場合、基本的には

(1) OptionParser オブジェクト opt を生成する。
(2) オプションを取り扱うブロックを opt に登録する。
(3) opt.parse(ARGV) でコマンドラインを実際に parse する。

というような流れになります。

//emlist[][ruby]{
require "optparse"
ProgramConfig = Ha...

絞り込み条件を変える

SystemExit#success? -> bool (18037.0)

終了ステータスが正常終了を示す値ならば true を返します。

終了ステータスが正常終了を示す値ならば true を返します。

大半のシステムでは、ステータス 0 が正常終了を表します。

例:

begin
exit true
rescue SystemExit => err
p err.success? # => true
end

begin
exit false
rescue SystemExit => err
p err.success? # => false
end

FileUtils#sh(*cmd) {|result, status| ... } (18019.0)

与えられたコマンドを実行します。

与えられたコマンドを実行します。

与えられた引数が複数の場合、シェルを経由しないでコマンドを実行します。

@param cmd 引数の解釈に関しては Kernel.#exec を参照してください。


例:
sh %{ls -ltr}

sh 'ls', 'file with spaces'

# check exit status after command runs
sh %{grep pattern file} do |ok, res|
if ! ok
puts "pattern not found (status = #...

PTY::ChildExited#status -> Process::Status (18001.0)

子プロセスの終了ステータスをProcess::Statusオブジェクトで返します。

子プロセスの終了ステータスをProcess::Statusオブジェクトで返します。

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

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

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

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

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

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

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

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

絞り込み条件を変える

IO.popen("-", mode = "r", opt={}) -> IO (9319.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("-", mode = "r", opt={}) {|io| ... } -> object (9319.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 (9319.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 (9319.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
...

IRB::ExtendCommand::Help#execute(*names) -> nil (9319.0)

RI から Ruby のドキュメントを参照します。

RI から Ruby のドキュメントを参照します。

irb(main):001:0> help String#match
...

@param names 参照したいクラス名やメソッド名などを文字列で指定します。

names を指定しなかった場合は、RI を対話的なモードで起動します。メソッド
名などを入力する事でドキュメントの検索が行えます。入力のタブ補完をする
事ができます。また、空行を入力する事で irb のプロンプトに戻る事ができま
す。

irb(main):001:0> help

Enter the method name you want to look...

絞り込み条件を変える

OptionParser#ver -> String (9319.0)

program_name、version と release から生成したバージョンを表す文字列を返します。

program_name、version と release から生成したバージョンを表す文字列を返します。

//emlist[例][ruby]{
require "optparse"

OptionParser.new do |opts|
opts.banner = "Usage: example.rb [options]"
opts.program_name = "Optparse Example"
opts.version = [0, 1]
opts.release = "2019-05-01"

opts.on_tail("--version", "Show v...

IO.popen([env = {}, [cmdname, arg0], *args, execopt={}], mode = "r", opt={}) -> IO (9304.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 (9304.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 (9304.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 (9304.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 (9304.0)

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

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

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

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

...

終了処理 (9139.0)

終了処理 Ruby はスクリプトの終端に達した場合や捕捉していない例外が発生した場 合に終了します(関数 Kernel.#exit や Kernel.#abort 、メインスレッドに対する Thread.kill などは SystemExit 例外を発生させます)。終了時には以下 の処理が順に実行されます。

終了処理
Ruby はスクリプトの終端に達した場合や捕捉していない例外が発生した場
合に終了します(関数 Kernel.#exit や Kernel.#abort
、メインスレッドに対する Thread.kill などは
SystemExit 例外を発生させます)。終了時には以下
の処理が順に実行されます。

(1) すべてのスレッドを Thread.kill する。
(1) Ruby の擬似シグナル SIGEXIT のハンドラが登録されていればそれを実
行する(Kernel.#trap を参照)。
(1) d:spec/control#END ブロック(END { ...

IRB::Context (9019.0)

irb の設定を扱うためのクラスです。

irb の設定を扱うためのクラスです。

irb 中で conf コマンドの戻り値や .irbrc で IRB.conf を操作する事で設定
を変更します。irb の起動後は IRB.conf の内容を更新しても変更の内容は反
映されない事に注意してください。

なお、.irbrc 中に記述できる以下の設定値については、IRB::Context
オブジェクトのメソッドとして操作できません。

: IRB.conf[:AT_EXIT]

irb の終了時(サブ irb を含みません)に本項目に設定された Proc オ
ブジェクトを実行します。ブロック引数には何も渡されません。

デフ...

Monitor#enter -> () (9019.0)

MonitorMixin#mon_enter の別名です。

MonitorMixin#mon_enter の別名です。

Thread::Mutex#lock に相当します。
Thread::Mutex#lock と違うのは現在のモニターの所有者が現在実行されているスレッドである場合、
何度でもロックできる点です。ロックした回数だけ Monitor#exit を呼ばなければモニターは
解放されません。

//emlist[例][ruby]{
require 'monitor'
mon = Monitor.new
mon.enter
mon.enter
//}

Thread::Mutex#lock ではデッドロックが起きます。

//emlist[Mu...

MonitorMixin#mon_enter -> () (9019.0)

モニターをロックします。

モニターをロックします。

一度に一つのスレッドだけがモニターをロックできます。
既にモニターがロックされている場合は、ロックが開放されるまで
そのスレッドは待ちます。

Thread::Mutex#lock に相当します。
Mutex#lock と違うのは現在のモニターの所有者が現在実行されているスレッドである場合、
何度でもロックできる点です。ロックした回数だけ mon_exit を呼ばなければモニターは
解放されません。

//emlist[例][ruby]{
require 'monitor'
buf = []
buf.extend(MonitorMixin)
buf.mon_ent...

絞り込み条件を変える

OptionParser#separator(sep) -> () (9019.0)

サマリにオプションを区切るための文字列 sep を挿入します。 オプションにいくつかの種類がある場合に、サマリがわかりやすくなります。

サマリにオプションを区切るための文字列 sep を挿入します。
オプションにいくつかの種類がある場合に、サマリがわかりやすくなります。

サマリには on メソッドを呼んだ順にオプションが表示されるので、区切りを挿入したい
ところでこのメソッドを呼びます。

@param sep サマリの区切りを文字列で指定します。

//emlist[][ruby]{
require 'optparse'
opts = OptionParser.new
opts.banner = "Usage: example.rb [options]"

opts.separator ""
opts.separator...

WIN32OLE#ole_respond_to?(name) -> bool (9019.0)

指定したメソッドをオブジェクトがサポートしているか調べます。

指定したメソッドをオブジェクトがサポートしているか調べます。

OLEオートメーションサーバが引数で指定した名前のメソッド(プロパティ)を
サポートしているかどうかを調べます。

なお、OLEオートメーションの仕様により、メソッド名の大文字、小文字は区別
されません。

@param name 調べるメソッド名を文字列またはシンボルで指定します。

@return nameで指定したメソッドをオブジェクトが提供していれば真を返します。

excel = WIN32OLE.new('Excel.Application')
excel.ole_respond_to?(:quit) #=...

IO.popen([env = {}, [cmdname, arg0], *args, execopt={}], mode = "r", opt={}) {|f| ... } -> object (9004.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 (9004.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 (9004.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 (9004.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 (9004.0)

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

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

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

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

...

ruby 1.6 feature (3259.0)

ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。

ruby 1.6 feature
ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン
になります。

((<stable-snapshot|URL:ftp://ftp.netlab.co.jp/pub/lang/ruby/stable-snapshot.tar.gz>)) は、日々更新される安定版の最新ソースです。

== 1.6.8 (2002-12-24) -> stable-snapshot

: 2003-01-22: errno

EAGAIN と EWOULDBLOCK が同じ値のシステムで、EWOULDBLOCK がなくなっ
ていま...

1.6.8から1.8.0への変更点(まとめ) (1693.0)

1.6.8から1.8.0への変更点(まとめ) * ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/文法の変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/正規表現>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Marshal>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Windows 対応>)) * ((<1.6.8から1.8.0への変更点(まとめ)/廃止された(される予定の)機能>)) * ((<1.6.8から1.8.0への変更点(まとめ)/ライブラリ>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張ライブラリAPI>)) * ((<1.6.8から1.8.0への変更点(まとめ)/バグ修正>)) * ((<1.6.8から1.8.0への変更点(まとめ)/サポートプラットフォームの追加>))

1.6.8から1.8.0への変更点(まとめ)
* ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>))
* ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>))
* ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>))...

void rb_exec_end_proc(void) (649.0)

END ブロックおよび Kernel#at_exit で登録した Proc オブジェクトを 実行します。

END ブロックおよび Kernel#at_exit で登録した Proc オブジェクトを
実行します。

絞り込み条件を変える

void rb_memerror(void) (649.0)

NoMemoryErrorをraiseする。 しかしraise自体にもメモリ容量を使うため、メモリが足りない状況 ではその途中でまたメモリ不足になる可能性がある。そのため この関数では再帰を検出した場合はraiseではなくexitするように なっている。

NoMemoryErrorをraiseする。
しかしraise自体にもメモリ容量を使うため、メモリが足りない状況
ではその途中でまたメモリ不足になる可能性がある。そのため
この関数では再帰を検出した場合はraiseではなくexitするように
なっている。

Open3.#capture3(*cmd) -> [String, String, Process::Status] (619.0)

cmdで指定されたコマンドを実行し、そのプロセスの標準出力と標準エラー、プ ロセスの終了ステータスを表すオブジェクトを返します。

cmdで指定されたコマンドを実行し、そのプロセスの標準出力と標準エラー、プ
ロセスの終了ステータスを表すオブジェクトを返します。

@param cmd 実行するコマンドを指定します。

@return 実行したコマンドの標準出力と標準エラー、プロセスの終了ステータ
スを表すオブジェクトを配列で返します。

指定された引数はopts[:stdin_data]とopts[:binmode]以外は全て
Open3.#popen3に渡されます。opts[:stdin_data]は実行するコマンドの
標準入力に渡されます。opts[:binmode]を真に指定されると内部で使用される...

static void rb_thread_restore_context(rb_thread_t th, int exit) (601.0)

スレッドを切り替えるにあたって、切り替え先のスレッド th の コンテキストを評価器に復帰します。

スレッドを切り替えるにあたって、切り替え先のスレッド th の
コンテキストを評価器に復帰します。

static void stack_extend(rb_thread_t th, int exit) (601.0)

制御構造 (433.0)

制御構造 条件分岐: * if * unless * case 繰り返し: * while * until * for * break * next * redo * retry 例外処理: * raise * begin その他: * return * BEGIN * END

制御構造
条件分岐:
* if
* unless
* case
繰り返し:
* while
* until
* for
* break
* next
* redo
* retry
例外処理:
* raise
* begin
その他:
* return
* BEGIN
* END

Rubyでは(Cなどとは異なり)制御構造は式であって、何らかの値を返すものが
あります(返さないものもあります。値を返さない式を代入式の右辺に置くと
syntax error になります)。

R...

絞り込み条件を変える

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

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

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

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

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

Thread.pass -> nil (355.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

Kernel.#fork -> Integer | nil (337.0)

fork(2) システムコールを使ってプロセスの複製を作 ります。親プロセスでは子プロセスのプロセスIDを、子プロセスでは nil を返します。ブロックを指定して呼び出した場合には、生成し た子プロセスでブロックを評価します。

fork(2) システムコールを使ってプロセスの複製を作
ります。親プロセスでは子プロセスのプロセスIDを、子プロセスでは
nil を返します。ブロックを指定して呼び出した場合には、生成し
た子プロセスでブロックを評価します。

fork 前に STDOUT と STDERR を IO#flush します。

@raise NotImplementedError 実行環境がこのメソッドに対応していないとき発生します。

//emlist[ブロックを指定しなかった場合][ruby]{
if child_pid = fork
puts "parent process. pid: #{Proc...

Kernel.#fork { ... } -> Integer | nil (337.0)

fork(2) システムコールを使ってプロセスの複製を作 ります。親プロセスでは子プロセスのプロセスIDを、子プロセスでは nil を返します。ブロックを指定して呼び出した場合には、生成し た子プロセスでブロックを評価します。

fork(2) システムコールを使ってプロセスの複製を作
ります。親プロセスでは子プロセスのプロセスIDを、子プロセスでは
nil を返します。ブロックを指定して呼び出した場合には、生成し
た子プロセスでブロックを評価します。

fork 前に STDOUT と STDERR を IO#flush します。

@raise NotImplementedError 実行環境がこのメソッドに対応していないとき発生します。

//emlist[ブロックを指定しなかった場合][ruby]{
if child_pid = fork
puts "parent process. pid: #{Proc...

Kernel.#throw(tag, value = nil) -> () (337.0)

Kernel.#catchとの組み合わせで大域脱出を行います。 throw は同じ tag を指定した catch のブロックの終わりまでジャンプします。

Kernel.#catchとの組み合わせで大域脱出を行います。 throw
は同じ tag を指定した catch のブロックの終わりまでジャンプします。

throw は探索時に呼び出しスタックをさかのぼるので、
ジャンプ先は同じメソッド内にあるとは限りません。
もし ensure節 が存在するならジャンプ前に実行します。

同じ tag で待っている catch が存在しない場合は、例外で
スレッドが終了します。

同じ tag であるとは Object#object_id が同じであるという意味です。

@param tag catch の引数に対応する任意のオブジェクトです。
@pa...

絞り込み条件を変える

Open3.#capture2e(*cmd) -> [String, Process::Status] (319.0)

cmdで指定されたコマンドを実行し、そのプロセスの標準出力と標準エラーを1 つの文字列にしたものとプロセスの終了ステータスを表すオブジェクトを返し ます。

cmdで指定されたコマンドを実行し、そのプロセスの標準出力と標準エラーを1
つの文字列にしたものとプロセスの終了ステータスを表すオブジェクトを返し
ます。

@param cmd 実行するコマンドを指定します。

@return 実行したコマンドの標準出力と標準エラーを1つの文字列にしたものと
終了ステータスを表すオブジェクトを配列で返します。

指定された引数はopts[:stdin_data]とopts[:binmode]以外は全て
Open3.#popen3に渡されます。opts[:stdin_data]は実行するコマンドの
標準入力に渡されます。opts[:binmo...

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

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

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

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

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

pid = fork {
# child
sleep 3
}

p pid # => 7762
th...

Thread#status -> String | false | nil (319.0)

生きているスレッドの状態を文字列 "run"、"sleep", "aborting" のいず れかで返します。正常終了したスレッドに対して false、例外によ り終了したスレッドに対して nil を返します。

生きているスレッドの状態を文字列 "run"、"sleep", "aborting" のいず
れかで返します。正常終了したスレッドに対して false、例外によ
り終了したスレッドに対して nil を返します。

Thread#alive? が真を返すなら、このメソッドも真です。

例:
a = Thread.new { raise("die now") }
b = Thread.new { Thread.stop }
c = Thread.new { Thread.exit }
d = Thread.new { sleep }
d.kill ...

optparse (271.0)

コマンドラインのオプションを取り扱うためのライブラリです。

コマンドラインのオプションを取り扱うためのライブラリです。

=== チュートリアル

optparse を使う場合、基本的には

(1) OptionParser オブジェクト opt を生成する。
(2) オプションを取り扱うブロックを opt に登録する。
(3) opt.parse(ARGV) でコマンドラインを実際に parse する。

というような流れになります。

* optiondef
* optionarg
* longoption
* help
* subcmd
* argv
* hyphen_start_file

====[a:optiondef]...

Ruby用語集 (139.0)

Ruby用語集 A B C D E F G I J M N O R S Y

Ruby用語集
A B C D E F G I J M N O R S Y

a ka sa ta na ha ma ya ra wa

=== 記号・数字
: %記法
: % notation
「%」記号で始まる多種多様なリテラル記法の総称。

参照:d:spec/literal#percent

: 0 オリジン
: zero-based
番号が 0 から始まること。

例えば、
Array や Vector、Matrix などの要素の番号、
String における文字の位置、
といったものは 0 オリジンである。

: 1 オリジン
: one-based
...

絞り込み条件を変える

Process::Status (73.0)

プロセスの終了ステータスを表すクラスです。 メソッド Process.#wait2 などの返り値として使われます。

プロセスの終了ステータスを表すクラスです。
メソッド Process.#wait2 などの返り値として使われます。

=== 使用例

wait を使用した例

fork { exit }
Process.wait
case
when $?.signaled?
p "child #{$?.pid} was killed by signal #{$?.termsig}"
if $?.coredump? # システムがこのステータスをサポートしてなければ常にfalse
p "child #{$?.pid} dumped core."
end
...

セキュリティモデル (55.0)

セキュリティモデル RubyにはCGI等のプログラミングを安全に行うことを助ける為に、セキュリティ 機構が備わっています。

セキュリティモデル
RubyにはCGI等のプログラミングを安全に行うことを助ける為に、セキュリティ
機構が備わっています。

Rubyのセキュリティモデルは「オブジェクトの汚染」と「セーフレベル」という
仕組みによってなりたっています。

=== オブジェクトの汚染

Rubyではオブジェクトは「汚染されている」とみなされることがあります。この
しくみは大きく分けて二つの使われ方をします。

ひとつ目は、信用できない入力をもとに作られたオブジェクトを「汚染されてい
る」とみなし、「危険な操作」の引数として使えないようにすることです。悪意
あるデータによって、プログラムが意図しない動作をする事...