るりまサーチ

最速Rubyリファレンスマニュアル検索!
88件ヒット [1-88件を表示] (0.043秒)
トップページ > クエリ:IO[x] > クエリ:io[x] > クエリ:$![x]

別のキーワード

  1. io popen
  2. io pipe
  3. io each
  4. io each_line
  5. io readlines

ライブラリ

クラス

モジュール

検索結果

Kernel$$! -> Exception | nil (18301.0)

最後に例外が発生したときの Exception オブジェクトです。 該当する例外がないときは nil です。

...最後に例外が発生したときの Exception オブジェクトです。
該当する例外がないときは nil です。

Kernel.#raise によって設定されます。

この変数はスレッドローカル、読み取り専用です。...

Exception#cause -> Exception | nil (6206.0)

self の前の例外(self が rescue 節や ensure 節の中で発生した例外の場合、 その前に発生していた元々の例外)を返します。存在しない場合は nil を返し ます。

...その前に発生していた元々の例外)を返します。存在しない場合は nil を返し
ます。

//emlist[例][ruby]{
begin
begin
raise "inner"
rescue
raise "outer"
end
rescue
p $! # => #<RuntimeError: outer>
p $!.cause # => #<RuntimeError: inner>
end
//}...

1.6.8から1.8.0への変更点(まとめ) (426.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への変更点(まとめ)/サポートプラットフォームの追加>))

...中だけになりました。

: rescue 節の例外クラスと発生した例外オブジェクトの比較 [ruby] [change]

発生した例外 $! と rescue 節の例外クラスとは ((<Module#===|Module/===>))
を使って比較するようになりました。

以前は kind_of? に...
...クラ
スのインスタンスになりました。

=== クラス階層

: ((<File::Constants>))

File::Constants は、File クラスでなく IO クラスが include するように
なりました。((<ruby-dev:20964>))

: ((<UnboundMethod>)) [compat]

UnboundMethod クラスは Method...
...ror < NameError < StandardError.

: ((<Interrupt>)) [change]
Interrupt は、((<SignalException>))のサブクラスになりました。
(1.6以前はExceptionのサブクラス)

== 追加されたメソッド
=== 組み込み関数

: ((<組み込み関数/warn>)) [new]...

制御構造 (24.0)

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

...った break により
while 式の戻り値をその値にすることもできます。

==== while 修飾子

//emlist[例][ruby]{
sleep(60) while io_not_ready?
//}

文法:

式 while 式

右辺の式を評価した値が真の間、左辺を繰り返し実行します。

左辺の...
...処理が成功するまで処理を繰り返すようなループを作
ることができます。

//emlist[][ruby]{
begin
do_something # exception raised
rescue
# handles error
retry # restart from beginning
end
//}

rescue 節以外で retry が用いられた場合には例外 SyntaxErr...
...yntaxError.new("invalid syntax")
raise # 最後の例外の再発生
//}

文法:

raise
raise messageまたはexception
raise error_type, message
raise error_type, message, traceback

例外を発生させます。第一の形式では直前の例...

File.delete(*filename) -> Integer (18.0)

ファイルを削除します。削除したファイルの数を返します。 削除に失敗した場合は例外 Errno::EXXX が発生します。

...敗した場合に発生します。

//emlist[例][ruby]{
IO
.write("test.txt", "test")
p File.exist?("test.txt") # => true
p File.delete("test.txt") # => 1
p File.exist?("test.txt") # => false
begin
File.delete("test.txt")
rescue
p $! # => #<Errno::ENOENT: No such file or directory @ unlin...

絞り込み条件を変える

File.unlink(*filename) -> Integer (18.0)

ファイルを削除します。削除したファイルの数を返します。 削除に失敗した場合は例外 Errno::EXXX が発生します。

...敗した場合に発生します。

//emlist[例][ruby]{
IO
.write("test.txt", "test")
p File.exist?("test.txt") # => true
p File.delete("test.txt") # => 1
p File.exist?("test.txt") # => false
begin
File.delete("test.txt")
rescue
p $! # => #<Errno::ENOENT: No such file or directory @ unlin...

Thread (18.0)

スレッドを表すクラスです。スレッドとはメモリ空間を共有して同時に実行される制御の流れです。 Thread を使うことで並行プログラミングが可能になります。

...は Ruby VM は Giant VM lock (GVL) を有しており、同時に実行される
ネイティブスレッドは常にひとつです。
ただし、IO 関連のブロックする可能性があるシステムコールを行う場合には
GVL を解放します。その場合にはスレッドは...
...レッドの実行も終
了します。ブロックの終了は正常な終了も例外などによる異常終了も含みます。

===[a:exception] 例外発生時のスレッドの振る舞い

あるスレッドで例外が発生し、そのスレッド内で rescue で捕捉されなかっ...
...read.new do
Thread.pass # メインスレッドが確実にjoinするように
raise "unhandled exception"
end
t.join
rescue
p $! # => "unhandled exception"
end

また、以下の 3 つの方法により、いずれかのスレッドが例外によって終
了した...

スレッド (18.0)

スレッド スレッドとはメモリ空間を共有して同時に実行される制御の流れです。 Ruby ではスレッドはThread クラスのインスタンスとして表されます。

...は Ruby VM は Giant VM lock (GVL) を有しており、同時に実行される
ネイティブスレッドは常にひとつです。
ただし、IO 関連のブロックする可能性があるシステムコールを行う場合には
GVL を解放します。その場合にはスレッドは...
...レッドの実行も終
了します。ブロックの終了は正常な終了も例外などによる異常終了も含みます。

===[a:exception] 例外発生時のスレッドの振る舞い

あるスレッドで例外が発生し、そのスレッド内で rescue で捕捉されなかっ...
...read.new do
Thread.pass # メインスレッドが確実にjoinするように
raise "unhandled exception"
end
t.join
rescue
p $! # => "unhandled exception"
end

また、以下の 3 つの方法により、いずれかのスレッドが例外によって終
了した...