26件ヒット
[1-26件を表示]
(0.031秒)
クラス
- Data (4)
- SystemCallError (11)
- Thread (11)
キーワード
- define (4)
-
pending
_ interrupt? (11)
検索結果
先頭4件
-
SystemCallError
. ===(other) -> bool (30315.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#=== と同じ意味しかありま... -
Data
. define(*args) -> Class (15.0) -
Data クラスに新しいサブクラスを作って、それを返します。
...//emlist[例][ruby]{
class HTTPFetcher
Response = Data.define(:body)
NotFound = Data.define
def get(url)
# ダミーの実装
if url == "http://example.com/"
Response.new(body: "Current time is #{Time.now}")
else
NotFound.new
end
end
end
def fetch(url)
fetch......r 引数に Symbol, String (String に暗黙の型変換が行われるオブジェクトを含む) 以外を指定した場合に発生します。
=== ブロックを指定した場合
Data.define にブロックを指定した場合は定義した Data をコンテキストにブロックを評... -
Data
. define(*args) {|subclass| block } -> Class (15.0) -
Data クラスに新しいサブクラスを作って、それを返します。
...//emlist[例][ruby]{
class HTTPFetcher
Response = Data.define(:body)
NotFound = Data.define
def get(url)
# ダミーの実装
if url == "http://example.com/"
Response.new(body: "Current time is #{Time.now}")
else
NotFound.new
end
end
end
def fetch(url)
fetch......r 引数に Symbol, String (String に暗黙の型変換が行われるオブジェクトを含む) 以外を指定した場合に発生します。
=== ブロックを指定した場合
Data.define にブロックを指定した場合は定義した Data をコンテキストにブロックを評... -
Thread
. pending _ interrupt?(error = nil) -> bool (15.0) -
非同期割り込みのキューが空かどうかを返します。
...ちに発生させる。
def Thread.kick_interrupt_immediately
Thread.handle_interrupt(Object => :immediate) {
Thread.pass
}
end
=== 使い方
th = Thread.new{
Thread.handle_interrupt(RuntimeError => :on_blocking){
while true
...
# ここまでで割......ror => :on_blocking){
while true
...
# ここまでで割り込みが発生しても安全な状態になった。
break if flag == false
...
end
}
}
...
flag = false # スレッド停止
@see Thread#pending_interrupt?, Thread.handle_interrupt...