るりまサーチ

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

別のキーワード

  1. rbconfig ruby
  2. fiddle ruby_free
  3. fiddle build_ruby_platform
  4. rake ruby
  5. rubygems/defaults ruby_engine

ライブラリ

モジュール

キーワード

検索結果

<< 1 2 > >>

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

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

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

status が true の場合 0、 false の場合 1 を引数に...
...の定数
EXIT
_SUCCESS、EXIT_FAILURE の値なので、正確には環境依存です。

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

@param status 終了...
... true または false で与えます。

//emlist[例][ruby]{
puts
'start'
begin
puts
'start1...'
exit

rescue SystemExit => err
puts
"end1 with #{err.inspect}"
e
nd

begin
puts
'start2...'
exit

e
nsure
puts
'end2...'
e
nd
puts
'end' #実行されない

#=> start
# start1...
# end1 wit...

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

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

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

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

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

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

例 長い...
...
require 'timeout'

def calc_pi(min)
loop do
x = rand
y = rand
x**2 + y**2 < 1.0 ? min[0] += 1 : min[1] += 1
e
nd
e
nd

t
= 5
min = [ 0, 0]
begin
T
imeout.timeout(t){
calc_pi(min)
}
rescue Timeout::Error
puts
"timeout"
e
nd

printf "%d:...
...

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

@param sec タイムアウトする時間を秒数で指定します.
@param exception_class タイムアウトした時、発生させる例外を指定します.
@param message エラーメ...
..."execution expired" になります.

例 長い計算のタイムアウト
require 'timeout'

def calc_pi(min)
loop do
x = rand
y = rand
x**2 + y**2 < 1.0 ? min[0] += 1 : min[1] += 1
e
nd
e
nd

t
= 5
min = [ 0, 0]
begin
T
imeout.timeout(t){
c...

Timeout.#timeout(sec, exception_class, message) {|i| ... } -> object (18421.0)

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

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

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

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

@param sec タイムアウトする時間を秒数で指定します.
@param exception_class タイムアウトした時、発生させる例外を指定します.
@param message エラーメ...
..."execution expired" になります.

例 長い計算のタイムアウト
require 'timeout'

def calc_pi(min)
loop do
x = rand
y = rand
x**2 + y**2 < 1.0 ? min[0] += 1 : min[1] += 1
e
nd
e
nd

t
= 5
min = [ 0, 0]
begin
T
imeout.timeout(t){
c...

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

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

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

status が true の場合 0、 false の場合 1 を引数に指...
...ベルの定数
EXIT
_SUCCESS、EXIT_FAILURE の値なので、正確には環境依存です。

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

@param status 終了ステー...
...スを整数か true または false で与えます。

//emlist[例][ruby]{
STDOUT.sync = true #表示前に終了しないようにする
puts
'start'
begin
puts
'start1...'
exit
!
e
nsure
puts
'end1...' #実行されない
e
nd
puts
'end' #実行されない

#=> start
# start1...
#終了...

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

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

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

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

//eml...
...ist[例][ruby]{
3.times do |i|
at_exit{puts "at_exit#{i}"}
e
nd
E
ND{puts "END"}
at_exit{puts "at_exit"}
puts
"main_end"

#=> main_end
# at_exit
# END
# at_exit2
# at_exit1
# at_exit0
//}

@see d:spec/control#END,Kernel.#exit!,Kernel.#fork...

絞り込み条件を変える

Kernel.#abort(message) -> () (9283.0)

Ruby プログラムをエラーメッセージ付きで終了します。終了ステータスは 1 固定です。

...
Ruby
プログラムをエラーメッセージ付きで終了します。終了ステータスは 1 固定です。

このメソッドと Kernel.#exit との違いは、プログラムの終了ステー
タスが 1 (正確にはCレベルの定数 EXIT_FAILURE の値)固定であることと、...
...$stderr に出力することです。

引数 message を指定すると SystemExit クラスの
E
xception#message に message を設定し
て標準エラー出力に出力します。


@param message エラーメッセージ文字列です。

//emlist[][ruby]{
puts
'start'
begin
puts
'start1....
...bort "error1"
rescue SystemExit => err
puts
"end1 with #{err.inspect}"
e
nd

begin
puts
'start2...'
raise RuntimeError.new
rescue
abort
e
nsure
puts
'end2...'
e
nd
puts
'end' #実行されない

#(標準出力)
#=> start
# start1...
# end1 with #<SystemExit: error1>
# start2...
# end...
...エラーメッセージを標準エラー出力 $stderr に出力することです。

引数 message を指定すると SystemExit クラスの
E
xception#message に message を設定し
て標準エラー出力に出力します。

引数を省略した呼び出し時に $! が nil でなけれ...
...aram message エラーメッセージ文字列です。

//emlist[][ruby]{
puts
'start'
begin
puts
'start1...'
abort "error1"
rescue SystemExit => err
puts
"end1 with #{err.inspect}"
e
nd

begin
puts
'start2...'
raise RuntimeError.new
rescue
abort
e
nsure
puts
'end2...'
e
nd
puts
'end' #...

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

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

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

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

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

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

@param tag catch の引...
...e catch の戻り値になります。
@raise ArgumentError 同じ tag で待っている catch が存在しない場合に発生します。

//emlist[例][ruby]{
def foo
t
hrow :exit, 25
e
nd

ret = catch(:exit) do
begin
foo
some_process() # 絶対に実行されない
10
e
nsure...
...e catch の戻り値になります。
@raise UncaughtThrowError 同じ tag で待っている catch が存在しない場合に発生します。

//emlist[例][ruby]{
def foo
t
hrow :exit, 25
e
nd

ret = catch(:exit) do
begin
foo
some_process() # 絶対に実行されない
10
e
...

Kernel.#abort -> () (9183.0)

Ruby プログラムをエラーメッセージ付きで終了します。終了ステータスは 1 固定です。

...
Ruby
プログラムをエラーメッセージ付きで終了します。終了ステータスは 1 固定です。

このメソッドと Kernel.#exit との違いは、プログラムの終了ステー
タスが 1 (正確にはCレベルの定数 EXIT_FAILURE の値)固定であることと、...
...$stderr に出力することです。

引数 message を指定すると SystemExit クラスの
E
xception#message に message を設定し
て標準エラー出力に出力します。


@param message エラーメッセージ文字列です。

//emlist[][ruby]{
puts
'start'
begin
puts
'start1....
...bort "error1"
rescue SystemExit => err
puts
"end1 with #{err.inspect}"
e
nd

begin
puts
'start2...'
raise RuntimeError.new
rescue
abort
e
nsure
puts
'end2...'
e
nd
puts
'end' #実行されない

#(標準出力)
#=> start
# start1...
# end1 with #<SystemExit: error1>
# start2...
# end...
...エラーメッセージを標準エラー出力 $stderr に出力することです。

引数 message を指定すると SystemExit クラスの
E
xception#message に message を設定し
て標準エラー出力に出力します。

引数を省略した呼び出し時に $! が nil でなけれ...
...aram message エラーメッセージ文字列です。

//emlist[][ruby]{
puts
'start'
begin
puts
'start1...'
abort "error1"
rescue SystemExit => err
puts
"end1 with #{err.inspect}"
e
nd

begin
puts
'start2...'
raise RuntimeError.new
rescue
abort
e
nsure
puts
'end2...'
e
nd
puts
'end' #...

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

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

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

以下は、define_finalizer の使い方の悪い例です。

//emlist[悪い例][ruby]{
class Foo
def initialize
ObjectSpace.define_finalizer(self) {
puts
"foo"
}
e
nd
e
nd
Foo.new
GC.start
//}

これは、渡された proc の self が obj を参照しつ
づけ...
...

t
empfile は、ファイナライザの使い方の
良い例になっています。これは、クラスのコンテキストで Proc を
生成することで上記の問題を回避しています。

//emlist[例][ruby]{
class Bar
def Bar.callback
proc {
puts
"bar"
}
e
nd...
<< 1 2 > >>