るりまサーチ

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

別のキーワード

  1. kernel $!
  2. _builtin $!
  3. $! kernel
  4. $! _builtin
  5. $! exception

検索結果

SystemCallError.===(other) -> bool (18106.0)

other が SystemCallError のサブクラスのインスタンスで、 かつ、other.errno の値が self::Errno と同じ場合に真を返します。そうでない場合は偽を返します。

...真を返します。そうでない場合は偽を返します。

従って、特に other が self.kind_of?(other) である場合には Module#=== と同様に真を返します。
その他に、 Errno::EXXX::Errno == Errno::EYYY::Errno である場合にも Errno::EXXX == Errno::EYYY.new は...
...捕捉するために Module#=== を上書きしていました。
しかし、Ruby 1.8 のリリース時点では同じ errno 値を持つクラスは一つしか作られないようになりました。そのため現在はこのメソッドは実質上 Module#=== と同じ意味しかありま...
...せん。

@param other 任意のオブジェクト


p Errno::EAGAIN::Errno
p Errno::EWOULDBLOCK::Errno
begin
raise Errno::EAGAIN, "pseudo error"
rescue Errno::EWOULDBLOCK
p $!
end

# => 11
11
#<Errno::EAGAIN: pseudo error>...

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

...ange]

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

以前は kind_of? による比較なので基本的な動作に変わりはありませんが、
SystemCallError.=== は特別に errno が一...
...>)) [new]

((<Process::Status>)) の追加により、(({$?})) の値も整数からこのクラ
スのインスタンスになりました。

===
クラス階層

: ((<File::Constants>))

File::Constants は、File クラスでなく IO クラスが include するように
なりまし...
...rrupt は、((<SignalException>))のサブクラスになりました。
(1.6以前はExceptionのサブクラス)

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

: ((<組み込み関数/warn>)) [new]
: ((<組み込み変数/$deferr>)) [new]

追加

以前は、ruby インタプリ...

制御構造 (84.0)

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

...きメソッド呼び出しは
繰り返しを始めとする制御構造をクラス設計者が定義する事が出来るものです.

===
条件分岐
===
=[a:if] if

//emlist[例][ruby]{
if age >= 12 then
print "adult fee\n"
else
print "child fee\n"
end
gender = if foo.gender == "male" then...
...評価されます。

===
= if 修飾子

//emlist[例][ruby]{
print "debug\n" if $DEBUG
//}

文法:

式 if 式

右辺の条件が成立する時に、左辺の式を評価してその結果を返します。
条件が成立しなければ nil を返します。

===
=[a:unless] unless...
...は組み込み
変数 $! でも得られます。また例外が
発生したソースコード上の位置は変数 $@ に格納されます。

Kernel.#raise は Ruby の予約語ではなく、Kernel モジュールで
定義されている関数的メソッドです。

===
=[a:begin] begin

//e...

Thread (48.0)

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

...間を共有して同時に実行される制御の流れです。
Thread を使うことで並行プログラミングが可能になります。


===
実装
ネイティブスレッドを用いて実装されていますが、
現在の実装では Ruby VM は Giant VM lock (GVL) を有してお...
...拡張ライブラリは作成可能です。

===
スケジューリング
Ruby のスレッドスケジューリングはネイティブスレッドのそれを利用しています。
よって詳細はプラットフォームに依存します。

===
メインスレッド

プログラムの開...
...ew do
Thread.pass # メインスレッドが確実にjoinするように
raise "unhandled exception"
end
t.join
rescue
p $! # => "unhandled exception"
end

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

スレッド (48.0)

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

...して同時に実行される制御の流れです。
Ruby ではスレッドはThread クラスのインスタンスとして表されます。


===
実装
ネイティブスレッドを用いて実装されていますが、
現在の実装では Ruby VM は Giant VM lock (GVL) を有してお...
...拡張ライブラリは作成可能です。

===
スケジューリング
Ruby のスレッドスケジューリングはネイティブスレッドのそれを利用しています。
よって詳細はプラットフォームに依存します。

===
メインスレッド

プログラムの開...
...ew do
Thread.pass # メインスレッドが確実にjoinするように
raise "unhandled exception"
end
t.join
rescue
p $! # => "unhandled exception"
end

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

絞り込み条件を変える

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

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

...イナライザとして Proc オブジェクトを指定します。proc は obj の回収時に obj の ID を引数として実行されます。

===
使い方の注意

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

//emlist[悪い例][ruby]{
class Foo
def initialize
Obje...
...いでしょう。

//emlist[例][ruby]{
class Baz
def initialize
ObjectSpace.define_finalizer self, eval(%q{
proc {
raise "baz" rescue puts $!
raise "baz2"
puts "baz3"
}
}, TOPLEVEL_BINDING)
end
end
Baz.new
GC.start

# => baz
//}

@see spec/rubycmd...

ObjectSpace.#define_finalizer(obj, proc) -> Array (12.0)

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

...イナライザとして Proc オブジェクトを指定します。proc は obj の回収時に obj の ID を引数として実行されます。

===
使い方の注意

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

//emlist[悪い例][ruby]{
class Foo
def initialize
Obje...
...いでしょう。

//emlist[例][ruby]{
class Baz
def initialize
ObjectSpace.define_finalizer self, eval(%q{
proc {
raise "baz" rescue puts $!
raise "baz2"
puts "baz3"
}
}, TOPLEVEL_BINDING)
end
end
Baz.new
GC.start

# => baz
//}

@see spec/rubycmd...

Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (12.0)

Rubyで使われる記号の意味(正規表現の複雑な記号は除く) ex q num per and or  plus minus ast slash hat sq  period comma langl rangl eq tilde  dollar at under lbrarbra  lbra2rbra2 lbra3rbra3 dq colon ac  backslash semicolon

...period comma langl rangl eq tilde 
dollar at under lbrarbra 
lbra2rbra2 lbra3rbra3 dq colon ac 
backslash semicolon

===
[a:ex] !

: !true

not 演算子。d:spec/operator#notを参照。

: 3 != 5

「等しくない」比較演算子。d:spec/operator#notを参...
...: tr と tr!)で使われます。

: /xxx/ !~ yyy

正規表現のメソッド =~ の否定。マッチが失敗したらtrueを返します。


===
[a:q] ?

: ?a

d:spec/literal#string。長さ 1 の文字列。

: def xx?

この場合の「?」はメソッド名の一部分です。
慣用...
...: ~ /xxx/

/xxx/ =~ $_ の省略形。~の後ろは正規表現でなければいけません。

===
[a:dollar] $

: $xxx

グローバル変数。d:spec/variables#globalを参照。

: $_ や $! など ・・$<1文字の数字、記号>

特殊変数(組み込み変数)。d:spec/variables#buil...