ライブラリ
クラス
-
ARGF
. class (77) - BasicObject (33)
- CSV (11)
- Data (4)
- Dir (66)
-
Enumerator
:: Lazy (11) - Exception (11)
- File (44)
- IO (55)
- Module (144)
-
Net
:: HTTPResponse (11) - Object (66)
- OptionParser (176)
- Range (11)
- Struct (14)
- TracePoint (33)
- Tracer (22)
- UnboundMethod (11)
-
WIN32OLE
_ TYPE (22) -
WIN32OLE
_ TYPELIB (11)
モジュール
- Enumerable (66)
- Exception2MessageMapper (36)
- Kernel (110)
- Marshal (22)
- ObjectSpace (44)
-
OpenSSL
:: ASN1 (11) - TSort (11)
キーワード
-
$ ERROR _ INFO (11) -
$ ERROR _ POSITION (11) -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (11) - < (11)
- == (11)
- Fail (12)
-
NEWS for Ruby 2
. 0 . 0 (11) -
NEWS for Ruby 2
. 1 . 0 (11) -
NEWS for Ruby 2
. 7 . 0 (5) -
NEWS for Ruby 3
. 0 . 0 (4) - Raise (12)
- String (11)
- accept (22)
-
add
_ filter (22) - autoload (11)
- bind (11)
-
callee
_ id (11) -
class
_ variable _ get (11) -
const
_ get (11) -
const
_ missing (11) -
count
_ objects _ size (11) -
count
_ tdata _ objects (11) - define (4)
-
define
_ finalizer (22) -
define
_ method (22) - dump (22)
- fail (39)
- fileno (11)
-
for
_ fd (11) - include (11)
-
initialize
_ copy (11) -
instance
_ eval (22) -
instance
_ method (11) - max (22)
-
method
_ id (11) -
method
_ missing (11) - min (44)
- new (124)
-
ole
_ classes (11) - on (132)
- open (88)
- private (23)
-
private
_ constant (11) -
public
_ constant (11) -
public
_ method (11) -
rb
_ define _ class _ under (11) - readbyte (22)
- readchar (11)
- readline (33)
- reject (22)
-
remove
_ class _ variable (11) -
remove
_ instance _ variable (11) -
respond
_ to? (11) -
ruby 1
. 6 feature (11) -
ruby 1
. 8 . 4 feature (11) -
singleton
_ class (11) -
singleton
_ method (11) - stat (11)
-
to
_ i (11) - traverse (11)
- tsort (11)
-
tsort
_ each (11) - value (11)
- 制御構造 (11)
検索結果
先頭5件
-
Kernel
. # raise -> () (21239.0) -
例外を発生させます。 発生した例外は変数 $! に格納されます。また例外が 発生した時のスタックトレースは変数 $@ に格納され ます。発生した例外は rescue 節で捕捉できます。
...RuntimeError を発生させます。
//emlist[例][ruby]{
begin
open("nonexist")
rescue
raise #=> `open': No such file or directory - "nonexist" (Errno::ENOENT)
end
//}
引数を渡した場合は、例外メッセージ message を持った error_type の示す例外(省略時 RuntimeErro......例外ではないクラスやオブジェクトを指定した場合、
そのオブジェクトの exception メソッドが返す値を発生する例外にします。
その際、exception メソッドに引数として変数 message を渡すことができます。
@param error_type 発生....../emlist[例2][ruby]{
def foo num
print 'in method.'
raise "error!!" if num <= 9
rescue RuntimeError
num += 10
print 'in rescue.'
retry
else
print 'in else.'
ensure
print "in ensure.\n"
end
foo(4) #=> in method.in rescue.in method.in else.in ensure.
//}
//emlist[例3][ruby]{
class MyE... -
Kernel
. # raise(error _ type , message = nil , backtrace = caller(0) , cause: $ !) -> () (21239.0) -
例外を発生させます。 発生した例外は変数 $! に格納されます。また例外が 発生した時のスタックトレースは変数 $@ に格納され ます。発生した例外は rescue 節で捕捉できます。
...RuntimeError を発生させます。
//emlist[例][ruby]{
begin
open("nonexist")
rescue
raise #=> `open': No such file or directory - "nonexist" (Errno::ENOENT)
end
//}
引数を渡した場合は、例外メッセージ message を持った error_type の示す例外(省略時 RuntimeErro......例外ではないクラスやオブジェクトを指定した場合、
そのオブジェクトの exception メソッドが返す値を発生する例外にします。
その際、exception メソッドに引数として変数 message を渡すことができます。
@param error_type 発生....../emlist[例2][ruby]{
def foo num
print 'in method.'
raise "error!!" if num <= 9
rescue RuntimeError
num += 10
print 'in rescue.'
retry
else
print 'in else.'
ensure
print "in ensure.\n"
end
foo(4) #=> in method.in rescue.in method.in else.in ensure.
//}
//emlist[例3][ruby]{
class MyE... -
Kernel
. # raise(message , cause: $ !) -> () (21239.0) -
例外を発生させます。 発生した例外は変数 $! に格納されます。また例外が 発生した時のスタックトレースは変数 $@ に格納され ます。発生した例外は rescue 節で捕捉できます。
...RuntimeError を発生させます。
//emlist[例][ruby]{
begin
open("nonexist")
rescue
raise #=> `open': No such file or directory - "nonexist" (Errno::ENOENT)
end
//}
引数を渡した場合は、例外メッセージ message を持った error_type の示す例外(省略時 RuntimeErro......例外ではないクラスやオブジェクトを指定した場合、
そのオブジェクトの exception メソッドが返す値を発生する例外にします。
その際、exception メソッドに引数として変数 message を渡すことができます。
@param error_type 発生....../emlist[例2][ruby]{
def foo num
print 'in method.'
raise "error!!" if num <= 9
rescue RuntimeError
num += 10
print 'in rescue.'
retry
else
print 'in else.'
ensure
print "in ensure.\n"
end
foo(4) #=> in method.in rescue.in method.in else.in ensure.
//}
//emlist[例3][ruby]{
class MyE... -
Object
# singleton _ class -> Class (12344.0) -
レシーバの特異クラスを返します。 まだ特異クラスがなければ、新しく作成します。
...が nil か true か false なら、それぞれ NilClass, TrueClass,
FalseClass を返します。
@raise TypeError レシーバが Integer、Float、Symbol の場合に発生します。
//emlist[][ruby]{
Object.new.singleton_class #=> #<Class:#<Object:0xb7ce1e24>>
String.singleton_class #......=> #<Class:String>
nil.singleton_class #=> NilClass
//}
@see Object#class... -
ObjectSpace
. # define _ finalizer(obj) {|id| . . . } -> Array (12230.0) -
obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。
...ロックを指定した場合は、そのブロックがファイナライザになります。
obj の回収時にブロックは obj の ID (BasicObject#__id__)を引数とし
て実行されます。
しかし、後述の問題があるのでブロックでファイナライザを登録するの......す。proc は obj の回収時に obj の ID を引数として実行されます。
=== 使い方の注意
以下は、define_finalizer の使い方の悪い例です。
//emlist[悪い例][ruby]{
class Foo
def initialize
ObjectSpace.define_finalizer(self) {
puts "foo"
}
end
e......ておいた方が良いでしょう。
//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
//}... -
ObjectSpace
. # define _ finalizer(obj , proc) -> Array (12230.0) -
obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。
...ロックを指定した場合は、そのブロックがファイナライザになります。
obj の回収時にブロックは obj の ID (BasicObject#__id__)を引数とし
て実行されます。
しかし、後述の問題があるのでブロックでファイナライザを登録するの......す。proc は obj の回収時に obj の ID を引数として実行されます。
=== 使い方の注意
以下は、define_finalizer の使い方の悪い例です。
//emlist[悪い例][ruby]{
class Foo
def initialize
ObjectSpace.define_finalizer(self) {
puts "foo"
}
end
e......ておいた方が良いでしょう。
//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
//}... -
Module
# remove _ class _ variable(name) -> object (12225.0) -
引数で指定したクラス変数を取り除き、そのクラス変数に設定さ れていた値を返します。
...String または Symbol を指定します。
@return 引数で指定されたクラス変数に設定されていた値を返します。
@raise NameError 引数で指定されたクラス変数がそのモジュールやクラスに定義されていない場合に発生します。
//emlist[......例][ruby]{
class Foo
@@foo = 1
remove_class_variable(:@@foo) # => 1
p @@foo # => uninitialized class variable @@foo in Foo (NameError)
end
//}
@see Module#remove_const, Object#remove_instance_variable... -
Module
# class _ variable _ get(name) -> object (12219.0) -
クラス/モジュールに定義されているクラス変数 name の値を返します。
...me の値を返します。
@param name String または Symbol を指定します。
@raise NameError クラス変数 name が定義されていない場合、発生します。
//emlist[例][ruby]{
class Fred
@@foo = 99
end
def Fred.foo
class_variable_get(:@@foo)
end
p Fred.foo #=> 99
//}... -
VALUE rb
_ define _ class _ under(VALUE outer , const char *name , VALUE super) (12218.0) -
super のサブクラスとして新しい Ruby クラスを、outer の定数として定義し て返します。
...属するクラス
@param name クラス名
@param super 継承元のクラス。NULL を指定した場合は Object クラス
@raise TypeError 引数 name と同じ名前の定数が既に存在し、それが
Class オブジェクトではない場合に発生します。......のクラス。NULL を指定した場合は Object クラス
@raise TypeError 引数 name と同じ名前の定数が既に存在し、それが
Class オブジェクトではない場合に発生します。
@raise TypeError 定義済みのクラスと継承元のクラスが一... -
Exception2MessageMapper
# Raise(exception _ class = nil , *rest) -> () (9345.0) -
登録されている情報を使用して、例外を発生させます。
...ram exception_class 例外クラス。
@param rest メッセージに埋め込む値。
@raise Exception2MessageMapper::ErrNotRegisteredException 指定された例外クラスに対応するメッセージが存在しない場合に発生します。
例:
class Foo
extend Exception2Messag......ption :NewExceptionClass, "message...%d, %d and %d" # =>
def foo
Raise NewExceptionClass, 1, 2, 3
end
end
Foo.new().foo() #=> in `Raise': message...1, 2 and 3 (Foo::NewExceptionClass)
# という例外が発生します。
Foo.Raise Foo::NewExceptio......nClass, 1, 3, 5 #=> in `Raise': message...1, 3 and 5 (Foo::NewExceptionClass)
# という例外が発生します。...