ライブラリ
- ビルトイン (136)
クラス
- Data (4)
- IO (44)
- Struct (44)
- SystemCallError (11)
- Thread (22)
モジュール
- Process (11)
キーワード
- [] (11)
- define (4)
- exec (11)
-
for
_ fd (11) -
handle
_ interrupt (11) - new (44)
- open (22)
-
pending
_ interrupt? (11)
検索結果
先頭5件
-
SystemCallError
. ===(other) -> bool (26101.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#=== と同じ意味しかありま... -
Struct
. new(*args) -> Class (8019.0) -
Struct クラスに新しいサブクラスを作って、それを返します。
...=> #<struct Point x=1, y=nil>
Point.new(y: 2) # => #<struct Point x=nil, y=2>
Point.new(z: 3) # ArgumentError (unknown keywords: z)
//}
=== 第一引数が String の場合
args[0] が String の場合、クラス名になるので、大文字で始まる必要
があります。つま......)
//}
また args[1..-1] は、Symbol か String で指定します。
//emlist[例][ruby]{
p Struct.new("Foo", :foo, :bar) # => Struct::Foo
//}
=== 第一引数が Symbol の場合
args[0] が Symbol の場合、生成した構造体クラスは名前の無い
クラスになります。名前......かった定数名をクラス名とします。
//emlist[例][ruby]{
Foo = Struct.new(:foo, :bar)
p Foo # => Foo
//}
=== ブロックを指定した場合
Struct.new にブロックを指定した場合は定義した Struct をコンテキストにブ
ロックを評... -
Struct
. new(*args) {|subclass| block } -> Class (8019.0) -
Struct クラスに新しいサブクラスを作って、それを返します。
...=> #<struct Point x=1, y=nil>
Point.new(y: 2) # => #<struct Point x=nil, y=2>
Point.new(z: 3) # ArgumentError (unknown keywords: z)
//}
=== 第一引数が String の場合
args[0] が String の場合、クラス名になるので、大文字で始まる必要
があります。つま......)
//}
また args[1..-1] は、Symbol か String で指定します。
//emlist[例][ruby]{
p Struct.new("Foo", :foo, :bar) # => Struct::Foo
//}
=== 第一引数が Symbol の場合
args[0] が Symbol の場合、生成した構造体クラスは名前の無い
クラスになります。名前......かった定数名をクラス名とします。
//emlist[例][ruby]{
Foo = Struct.new(:foo, :bar)
p Foo # => Foo
//}
=== ブロックを指定した場合
Struct.new にブロックを指定した場合は定義した Struct をコンテキストにブ
ロックを評... -
Struct
. new(*args , keyword _ init: false) -> Class (8019.0) -
Struct クラスに新しいサブクラスを作って、それを返します。
...=> #<struct Point x=1, y=nil>
Point.new(y: 2) # => #<struct Point x=nil, y=2>
Point.new(z: 3) # ArgumentError (unknown keywords: z)
//}
=== 第一引数が String の場合
args[0] が String の場合、クラス名になるので、大文字で始まる必要
があります。つま......)
//}
また args[1..-1] は、Symbol か String で指定します。
//emlist[例][ruby]{
p Struct.new("Foo", :foo, :bar) # => Struct::Foo
//}
=== 第一引数が Symbol の場合
args[0] が Symbol の場合、生成した構造体クラスは名前の無い
クラスになります。名前......かった定数名をクラス名とします。
//emlist[例][ruby]{
Foo = Struct.new(:foo, :bar)
p Foo # => Foo
//}
=== ブロックを指定した場合
Struct.new にブロックを指定した場合は定義した Struct をコンテキストにブ
ロックを評... -
Struct
. new(*args , keyword _ init: false) {|subclass| block } -> Class (8019.0) -
Struct クラスに新しいサブクラスを作って、それを返します。
...=> #<struct Point x=1, y=nil>
Point.new(y: 2) # => #<struct Point x=nil, y=2>
Point.new(z: 3) # ArgumentError (unknown keywords: z)
//}
=== 第一引数が String の場合
args[0] が String の場合、クラス名になるので、大文字で始まる必要
があります。つま......)
//}
また args[1..-1] は、Symbol か String で指定します。
//emlist[例][ruby]{
p Struct.new("Foo", :foo, :bar) # => Struct::Foo
//}
=== 第一引数が Symbol の場合
args[0] が Symbol の場合、生成した構造体クラスは名前の無い
クラスになります。名前......かった定数名をクラス名とします。
//emlist[例][ruby]{
Foo = Struct.new(:foo, :bar)
p Foo # => Foo
//}
=== ブロックを指定した場合
Struct.new にブロックを指定した場合は定義した Struct をコンテキストにブ
ロックを評... -
Struct
. new(*args , keyword _ init: nil) -> Class (8019.0) -
Struct クラスに新しいサブクラスを作って、それを返します。
...ると警告は出ない
Point2 = Struct.new(:x, :y, keyword_init: false)
Point2.new(x: 1, y: 2) # => #<struct Point2 x={:x=>1, :y=>2}, y=nil>
//}
=== 第一引数が String の場合
args[0] が String の場合、クラス名になるので、大文字で始まる必要
があります。つま......)
//}
また args[1..-1] は、Symbol か String で指定します。
//emlist[例][ruby]{
p Struct.new("Foo", :foo, :bar) # => Struct::Foo
//}
=== 第一引数が Symbol の場合
args[0] が Symbol の場合、生成した構造体クラスは名前の無い
クラスになります。名前......かった定数名をクラス名とします。
//emlist[例][ruby]{
Foo = Struct.new(:foo, :bar)
p Foo # => Foo
//}
=== ブロックを指定した場合
Struct.new にブロックを指定した場合は定義した Struct をコンテキストにブ
ロックを評......4.new(y: 2) # => #<struct Point4 x={:y=>2}, y=nil>
Point4.new(x: 1, y: 2, z: 3) # => #<struct Point4 x={:x=>1, :y=>2, :z=>3}, y=nil>
//}
=== 第一引数が String の場合
args[0] が String の場合、クラス名になるので、大文字で始まる必要
があります。つま... -
Struct
. new(*args , keyword _ init: nil) {|subclass| block } -> Class (8019.0) -
Struct クラスに新しいサブクラスを作って、それを返します。
...ると警告は出ない
Point2 = Struct.new(:x, :y, keyword_init: false)
Point2.new(x: 1, y: 2) # => #<struct Point2 x={:x=>1, :y=>2}, y=nil>
//}
=== 第一引数が String の場合
args[0] が String の場合、クラス名になるので、大文字で始まる必要
があります。つま......)
//}
また args[1..-1] は、Symbol か String で指定します。
//emlist[例][ruby]{
p Struct.new("Foo", :foo, :bar) # => Struct::Foo
//}
=== 第一引数が Symbol の場合
args[0] が Symbol の場合、生成した構造体クラスは名前の無い
クラスになります。名前......かった定数名をクラス名とします。
//emlist[例][ruby]{
Foo = Struct.new(:foo, :bar)
p Foo # => Foo
//}
=== ブロックを指定した場合
Struct.new にブロックを指定した場合は定義した Struct をコンテキストにブ
ロックを評......4.new(y: 2) # => #<struct Point4 x={:y=>2}, y=nil>
Point4.new(x: 1, y: 2, z: 3) # => #<struct Point4 x={:x=>1, :y=>2, :z=>3}, y=nil>
//}
=== 第一引数が String の場合
args[0] が String の場合、クラス名になるので、大文字で始まる必要
があります。つま... -
Thread
. handle _ interrupt(hash) { . . . } -> object (8013.0) -
スレッドの割り込みのタイミングを引数で指定した内容に変更してブロックを 実行します。
...す。
@return ブロックの評価結果を返します。
@raise ArgumentError ブロックを指定しなかった場合に発生します。
=== 注意
非同期割り込みの利用は難しいため、スレッド間での通信を実現する場合はま
ずはキューのような他の......してください。それでも非同期割り込みを
利用する場合は本メソッドをよく理解してから利用してください。
=== 使い方
例:Thread#raise 発生のタイミングを制御する例
th = Thread.new do
Thread.handle_interrupt(RuntimeError => :never) {......imeError を無視(延期)している間はリソースの割り当てや ensure
節でリソースの解放を安全に行う事ができます。
==== TimeoutError 対策
例:TimeoutError 発生のタイミングを制御する例
require 'timeout'
Thread.handle_interrupt(TimeoutError => :... -
Data
. define(*args) -> Class (8007.0) -
Data クラスに新しいサブクラスを作って、それを返します。
...r 引数に Symbol, String (String に暗黙の型変換が行われるオブジェクトを含む) 以外を指定した場合に発生します。
=== ブロックを指定した場合
Data.define にブロックを指定した場合は定義した Data をコンテキストにブロックを評... -
Data
. define(*args) {|subclass| block } -> Class (8007.0) -
Data クラスに新しいサブクラスを作って、それを返します。
...r 引数に Symbol, String (String に暗黙の型変換が行われるオブジェクトを含む) 以外を指定した場合に発生します。
=== ブロックを指定した場合
Data.define にブロックを指定した場合は定義した Data をコンテキストにブロックを評... -
IO
. for _ fd(fd , mode = "r" , **opts) -> IO (8007.0) -
オープン済みのファイルディスクリプタ fd に対する新しい IO オブジェクトを生成して返します。
...とともに fd はクローズされます。ブロックの結果を返します。
IO.new, IO.for_fd はブロックを受け付けません。
=== キーワード引数
このメソッドは以下のキーワード引数を利用できます。
* :mode mode引数と同じ意味です
* :ext... -
IO
. new(fd , mode = "r" , **opts) -> IO (8007.0) -
オープン済みのファイルディスクリプタ fd に対する新しい IO オブジェクトを生成して返します。
...とともに fd はクローズされます。ブロックの結果を返します。
IO.new, IO.for_fd はブロックを受け付けません。
=== キーワード引数
このメソッドは以下のキーワード引数を利用できます。
* :mode mode引数と同じ意味です
* :ext... -
IO
. open(fd , mode = "r" , **opts) -> IO (8007.0) -
オープン済みのファイルディスクリプタ fd に対する新しい IO オブジェクトを生成して返します。
...とともに fd はクローズされます。ブロックの結果を返します。
IO.new, IO.for_fd はブロックを受け付けません。
=== キーワード引数
このメソッドは以下のキーワード引数を利用できます。
* :mode mode引数と同じ意味です
* :ext... -
IO
. open(fd , mode = "r" , **opts) {|io| . . . } -> object (8007.0) -
オープン済みのファイルディスクリプタ fd に対する新しい IO オブジェクトを生成して返します。
...とともに fd はクローズされます。ブロックの結果を返します。
IO.new, IO.for_fd はブロックを受け付けません。
=== キーワード引数
このメソッドは以下のキーワード引数を利用できます。
* :mode mode引数と同じ意味です
* :ext... -
Process
. exec(command , *args) -> () (8007.0) -
カレントプロセスを与えられた外部コマンドで置き換えます。
...カレントプロセスを与えられた外部コマンドで置き換えます。
=== 引数の解釈
引数が一つだけ与えられた場合、command が shell のメタ文字
//emlist{
* ? {} [] <> () ~ & | \ $ ; ' ` " \n
//}
を含む場合、shell 経由で実行されます。
そ...