種類
- 特異メソッド (88)
- インスタンスメソッド (48)
- モジュール関数 (41)
- 文書 (33)
- 関数 (22)
ライブラリ
- ビルトイン (125)
- irb (11)
-
irb
/ context (11) -
irb
/ extend-command (11) - timeout (19)
クラス
- Fiber (15)
- IO (77)
-
IRB
:: Context (11) - LocalJumpError (11)
モジュール
- IRB (11)
-
IRB
:: ExtendCommandBundle (11) - ObjectSpace (22)
- Timeout (19)
キーワード
- Ruby用語集 (11)
-
define
_ finalizer (22) -
exit
_ value (11) -
irb
_ exit (22) -
localjump
_ exitstatus (11) - popen (77)
- raise (15)
-
rb
_ f _ exit (11) -
ruby 1
. 6 feature (11) - timeout (19)
- 制御構造 (11)
検索結果
先頭5件
-
IRB
:: Context # exit(ret = 0) -> object (24307.0) -
irb を終了します。ret で指定したオブジェクトを返します。
...
irb を終了します。ret で指定したオブジェクトを返します。
@param ret 戻り値を指定します。
@see IRB.irb_exit... -
static VALUE localjump
_ exitstatus(VALUE exc) (18300.0) -
-
IRB
. irb _ exit(irb , ret) -> object (15401.0) -
irb を終了します。ret で指定したオブジェクトを返します。
...
irb を終了します。ret で指定したオブジェクトを返します。
@param irb 現在の IRB::Irb オブジェクトを指定します。
@param ret 戻り値を指定します。
ユーザが直接使用するものではありません。... -
LocalJumpError
# exit _ value -> object (15313.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
end
begin
Block.new { break 5 }.call
rescue LocalJumpError => err
p err # => #<LocalJumpError: break from block-closure>
p err.reason # => :break
p err.exit_value # => 5
end... -
ObjectSpace
. # define _ finalizer(obj) {|id| . . . } -> Array (15306.0) -
obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。
...obj が解放されるときに実行されるファイナライザ proc を
登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで
はなく追加登録されます。固定値 0 と proc を配列にして返します。
ブロックを指定した場......ライザになります。
obj の回収時にブロックは obj の ID (BasicObject#__id__)を引数とし
て実行されます。
しかし、後述の問題があるのでブロックでファイナライザを登録するのは難しいでしょう。
@param obj ファイナライザを登......回避しています。
//emlist[例][ruby]{
class Bar
def Bar.callback
proc {
puts "bar"
}
end
def initialize
ObjectSpace.define_finalizer(self, Bar.callback)
end
end
Bar.new
GC.start
//}
proc の呼び出しで発生した大域脱出(exitや例外)は無視されま... -
ObjectSpace
. # define _ finalizer(obj , proc) -> Array (15306.0) -
obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。
...obj が解放されるときに実行されるファイナライザ proc を
登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで
はなく追加登録されます。固定値 0 と proc を配列にして返します。
ブロックを指定した場......ライザになります。
obj の回収時にブロックは obj の ID (BasicObject#__id__)を引数とし
て実行されます。
しかし、後述の問題があるのでブロックでファイナライザを登録するのは難しいでしょう。
@param obj ファイナライザを登......回避しています。
//emlist[例][ruby]{
class Bar
def Bar.callback
proc {
puts "bar"
}
end
def initialize
ObjectSpace.define_finalizer(self, Bar.callback)
end
end
Bar.new
GC.start
//}
proc の呼び出しで発生した大域脱出(exitや例外)は無視されま... -
IRB
:: ExtendCommandBundle # irb _ exit(ret = 0) -> object (15301.0) -
irb を終了します。ret で指定したオブジェクトを返します。
...
irb を終了します。ret で指定したオブジェクトを返します。
@param ret 戻り値を指定します。
ユーザが直接使用するものではありません。... -
static VALUE rb
_ f _ exit(int argc , VALUE *argv , VALUE obj) (12300.0) -
-
Timeout
. # timeout(sec , exception _ class = nil) {|i| . . . } -> object (9214.0) -
ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。
...を過ぎたときは例外
Timeout::Error が発生します。
exception_class を指定した場合には Timeout::Error の代わりに
その例外が発生します。
ブロックパラメータ i は sec がはいります。
また sec が 0 もしくは nil のときは制限時間なし......exception_class タイムアウトした時、発生させる例外を指定します.
@param message エラーメッセージを指定します.省略した場合は
"execution expired" になります.
例 長い計算のタイムアウト
require 'timeout'
def calc_pi(min)......+ y**2 < 1.0 ? min[0] += 1 : min[1] += 1
end
end
t = 5
min = [ 0, 0]
begin
Timeout.timeout(t){
calc_pi(min)
}
rescue Timeout::Error
puts "timeout"
end
printf "%d: pi = %f\n", min[0] + min[1], min[0]*4.0/(min[0]+min[1])
#例
#=> 417519: pi = 3.141443
例... -
Timeout
. # timeout(sec , exception _ class , message) {|i| . . . } -> object (9214.0) -
ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。
...を過ぎたときは例外
Timeout::Error が発生します。
exception_class を指定した場合には Timeout::Error の代わりに
その例外が発生します。
ブロックパラメータ i は sec がはいります。
また sec が 0 もしくは nil のときは制限時間なし......exception_class タイムアウトした時、発生させる例外を指定します.
@param message エラーメッセージを指定します.省略した場合は
"execution expired" になります.
例 長い計算のタイムアウト
require 'timeout'
def calc_pi(min)......+ y**2 < 1.0 ? min[0] += 1 : min[1] += 1
end
end
t = 5
min = [ 0, 0]
begin
Timeout.timeout(t){
calc_pi(min)
}
rescue Timeout::Error
puts "timeout"
end
printf "%d: pi = %f\n", min[0] + min[1], min[0]*4.0/(min[0]+min[1])
#例
#=> 417519: pi = 3.141443
例...