るりまサーチ

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

別のキーワード

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

ライブラリ

クラス

モジュール

検索結果

<< 1 2 3 ... > >>

Monitor#exit -> () (27247.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 (ThreadError)
//}...
...ます。

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 (ThreadError)
//}...

irb (26114.0)

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

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

=== irb の使い方

Ruby さえ知っていれば irb を使うのは簡単です。
i
rb コマンドを実行すると、以下のようなプロン...
...nil
i
rb#2(Foo):005:0> def bar # Foo#barを定義
i
rb#2(Foo):006:1> print "bar"
i
rb#2(Foo):007:1> end
nil
i
rb#2(Foo):010:0> Foo.instance_methods
["bar", "foo"]
i
rb#2(Foo):011:0> fg 0
nil
i
rb(main):007:0> f = Foo.new
#<Foo:0x4010af3c>
i
rb(main):008:0> irb f...
...
nil
i
rb#3(#<Foo:0x4010af3c>):003:0> bar # f.barの実行
barnil
i
rb#3(#<Foo:0x4010af3c>):004:0> kill 1, 2, 3# jobのkill
nil
i
rb(main):009:0> jobs
#0->irb on main (#<Thread:0x400fb7e4> : running)
nil
i
rb(main):010:0> exit # 終了
$

=== irb で...

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

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

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

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

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

例:

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

Thread#exit -> self (24231.0)

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

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

ただし、スレッドは終了処理中(aborting)にはなりますが、
直ちに終了するとは限りません。すでに終了している場合は何もしません。このメソッドによ...
...#exit(0)
により終了します。

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

th1 = Thread.new do
begin
sleep 10
ensure
p "this will be displayed"
end
end

sleep 0.1
th1.kill

#=> "this will be displayed"

@see Kernel.#exit, Kernel.#exit!...

Monitor#mon_exit -> () (15232.0)

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

...ます。

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 (ThreadError)
//}...

絞り込み条件を変える

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

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

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

=== 使い方の注意

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

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

...
...回避しています。

//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 (12224.0)

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

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

=== 使い方の注意

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

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

...
...回避しています。

//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や例外)は無視されま...

LocalJumpError#exit_value -> object (12219.0)

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

...f 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...

Thread#kill -> self (9131.0)

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

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

ただし、スレッドは終了処理中(aborting)にはなりますが、
直ちに終了するとは限りません。すでに終了している場合は何もしません。このメソッドによ...
...#exit(0)
により終了します。

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

th1 = Thread.new do
begin
sleep 10
ensure
p "this will be displayed"
end
end

sleep 0.1
th1.kill

#=> "this will be displayed"

@see Kernel.#exit, Kernel.#exit!...

Thread#terminate -> self (9131.0)

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

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

ただし、スレッドは終了処理中(aborting)にはなりますが、
直ちに終了するとは限りません。すでに終了している場合は何もしません。このメソッドによ...
...#exit(0)
により終了します。

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

th1 = Thread.new do
begin
sleep 10
ensure
p "this will be displayed"
end
end

sleep 0.1
th1.kill

#=> "this will be displayed"

@see Kernel.#exit, Kernel.#exit!...

絞り込み条件を変える

<< 1 2 3 ... > >>