るりまサーチ

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

別のキーワード

  1. _builtin raise
  2. kernel raise
  3. fiber raise
  4. thread raise
  5. e2mmap raise

ライブラリ

クラス

モジュール

キーワード

検索結果

<< 1 2 > >>

Fiber#raise -> object (18133.0)

selfが表すファイバーが最後に Fiber.yield を呼んだ場所で例外を発生させます。

...ew { Fiber.yield }
f.resume
f.raise "Error!" # => Error! (RuntimeError)
//}

//emlist[ファイバー内のイテレーションを終了させる例][ruby]{
f = Fiber.new do
loop
do
Fiber.yield(:loop)
end
:exit
end

p f.resume # => :loop
p f.raise StopIteration # => :exit
//}...

Fiber#raise(exception, message = nil, backtrace = nil) -> object (18133.0)

selfが表すファイバーが最後に Fiber.yield を呼んだ場所で例外を発生させます。

...ew { Fiber.yield }
f.resume
f.raise "Error!" # => Error! (RuntimeError)
//}

//emlist[ファイバー内のイテレーションを終了させる例][ruby]{
f = Fiber.new do
loop
do
Fiber.yield(:loop)
end
:exit
end

p f.resume # => :loop
p f.raise StopIteration # => :exit
//}...

Fiber#raise(message) -> object (18133.0)

selfが表すファイバーが最後に Fiber.yield を呼んだ場所で例外を発生させます。

...ew { Fiber.yield }
f.resume
f.raise "Error!" # => Error! (RuntimeError)
//}

//emlist[ファイバー内のイテレーションを終了させる例][ruby]{
f = Fiber.new do
loop
do
Fiber.yield(:loop)
end
:exit
end

p f.resume # => :loop
p f.raise StopIteration # => :exit
//}...

Kernel.#loop -> Enumerator (18120.0)

(中断されない限り)永遠にブロックの評価を繰り返します。 ブロックが指定されなければ、代わりに Enumerator を返します。

...ば、代わりに Enumerator を返します。

//emlist[例][ruby]{
loop
do
print "Input: "
line = gets
break if !line or line =~ /^qQ/
# ...
end
//}

与えられたブロック内で StopIteration を Kernel.#raise すると
ループを終了して Enumerator が最後に返した値...
...
ループを終了させる場合、通常は break を使用してください。

//emlist[例][ruby]{
enum = Enumerator.new { |y|
y << "one"
y << "two"
:ok
}

result = loop {
puts enum.next
} # => :ok
//}


@return break の引数など、ループ脱出時の値を返します。...

Kernel.#loop { ... } -> object | nil (18120.0)

(中断されない限り)永遠にブロックの評価を繰り返します。 ブロックが指定されなければ、代わりに Enumerator を返します。

...ば、代わりに Enumerator を返します。

//emlist[例][ruby]{
loop
do
print "Input: "
line = gets
break if !line or line =~ /^qQ/
# ...
end
//}

与えられたブロック内で StopIteration を Kernel.#raise すると
ループを終了して Enumerator が最後に返した値...
...
ループを終了させる場合、通常は break を使用してください。

//emlist[例][ruby]{
enum = Enumerator.new { |y|
y << "one"
y << "two"
:ok
}

result = loop {
puts enum.next
} # => :ok
//}


@return break の引数など、ループ脱出時の値を返します。...

絞り込み条件を変える

Kernel.#loop -> Enumerator (18114.0)

(中断されない限り)永遠にブロックの評価を繰り返します。 ブロックが指定されなければ、代わりに Enumerator を返します。

...ば、代わりに Enumerator を返します。

//emlist[例][ruby]{
loop
do
print "Input: "
line = gets
break if !line or line =~ /^qQ/
# ...
end
//}

与えられたブロック内で StopIteration を Kernel.#raise すると
ループを終了して nil を返します。
ループを...

Kernel.#loop { ... } -> object | nil (18114.0)

(中断されない限り)永遠にブロックの評価を繰り返します。 ブロックが指定されなければ、代わりに Enumerator を返します。

...ば、代わりに Enumerator を返します。

//emlist[例][ruby]{
loop
do
print "Input: "
line = gets
break if !line or line =~ /^qQ/
# ...
end
//}

与えられたブロック内で StopIteration を Kernel.#raise すると
ループを終了して nil を返します。
ループを...

制御構造 (106.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などとは異なり)制御構造は式であって、何らかの値を...
...gin
do_something # exception raised
rescue
# handles error
retry # restart from beginning
end
//}

rescue 節以外で retry が用いられた場合には例外 SyntaxError が発生
します。

=== 例外処理

====[a:raise] raise

//emlist[例][ruby]{
raise
"you lose" # 例外 RuntimeE...
...unexpected keyword_BEGIN

class Foo
BEGIN { p "begin" }
end
# => -e:2: syntax error, unexpected keyword_BEGIN

loop
do
BEGIN { p "begin" }
end
# => -e:2: syntax error, unexpected keyword_BEGIN

====[a:END] END

//emlist[例][ruby]{...

ruby 1.6 feature (36.0)

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

...ていました。
((<ruby-dev:14743>))

def foo(t)
t.run
end

t = Thread.start do
t = $_= "sub"
loop
{Thread.stop;puts "sub:#$_"}
end

$_ = "main"
t.run # => sub:sub
puts "main:#$_" # =>...
...(rb_safe_level() >= 4 && !OBJ_TAINTED(klass)) {
+ if (rb_safe_level() >= 4 && (klass == rb_cObject || !OBJ_TAINTED(klass))) {
rb_raise(rb_eSecurityError, "Insecure: can't define method");
}
if (OBJ_FROZEN(klass)) rb_error_frozen("class/module");

また今度...
...e error になっていたバグが修正されました。
((<ruby-dev:13073>)), ((<ruby-dev:13292>))

raise
"" rescue []
raise
"" rescue (p "foo"; true)
raise
"" rescue -1
raise
"" rescue (-1)

: ((<Thread>))

以下は dead lock にならなくなりました。

Thread.st...

Enumerator#next -> object (18.0)

「次」のオブジェクトを返します。

...ただし、 IO#each_line のようにおおもとの列挙メカニズムが副作用を
伴っている場合には影響があり得ます。

@raise StopIteration 列挙状態が既に最後へ到達しているとき
@see Enumerator#rewind

//emlist[例1][ruby]{
str = "xyz"
enum = str.each_byt...
...121
# 122
# iteration reached at end
puts enum.next
#=> 再度 StopIteration 例外が発生
//}

//emlist[例3: Kernel.#loop は StopIteration を捕捉します。][ruby]{
str = "xyz"
enum = str.each_byte
loop
do
puts enum.next
end
# => 120
# 121
# 122
//}...

絞り込み条件を変える

Fiber (12.0)

ノンプリエンプティブな軽量スレッド(以下ファイバーと呼ぶ)を提供します。 他の言語では coroutine あるいは semicoroutine と呼ばれることもあります。 Thread と違いユーザレベルスレッドとして実装されています。

...ファイバー実行中に例外が発生した場合、親ファイバーに例外が伝播します。

//emlist[例:][ruby]{
f = Fiber.new do
raise
StandardError, "hoge"
end

begin
f.resume # ここでも StandardError が発生する。
rescue => e
p e.message #=> "hoge"
end
//}

===...
...り替えます。
Fiber.yield の引数が、親での Fiber#resume の返り値になります。
//emlist[例:][ruby]{
f = Fiber.new do
n = 0
loop
do
Fiber.yield(n)
n += 1
end
end

5.times do
p f.resume
end

#=> 0
1
2
3
4
//}

以下は内部イテレータを外部...

ruby 1.8.4 feature (12.0)

ruby 1.8.4 feature ruby 1.8.4 での ruby 1.8.3 からの変更点です。

...せずに待ち続けてしまう可能性があるというバグを修正しました.

#
# * ext/tk/lib/multi-tk.rb: kill the meaningless loop for the deleted Tk
# interpreter.

MultiTkIp で生成した Tk インタープリタを削除した後も,
不要となった...
...otwork.org>
#
# * ext/openssl/extconf.rb: should check ERR_peek_last_error().
# [ruby-dev:27597]
#
# * ext/openssl/ossl.c (ossl_raise): ditto.
#
# ?

#Mon Oct 31 05:49:23 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
#
# * ext/openssl/ossl_cipher.c (ossl_cipher_update): inpu...
<< 1 2 > >>