モジュール
- Kernel (144)
- Marshal (24)
- ObjectSpace (96)
キーワード
- String (12)
- autoload (12)
- autoload? (12)
-
count
_ objects (12) -
define
_ finalizer (24) - dump (24)
-
each
_ object (48) - fail (36)
-
global
_ variables (12) -
local
_ variables (12) - raise (36)
-
set
_ trace _ func (12) -
undefine
_ finalizer (12)
検索結果
先頭5件
-
Kernel
. # set _ trace _ func(proc) -> Proc (63.0) -
Ruby インタプリタのイベントをトレースする Proc オブジェクトとして 指定された proc を登録します。 nil を指定するとトレースがオフになります。
...c-call": Cで記述されたメソッドの呼び出し。
"c-return": Cで記述されたメソッド呼び出しからのリターン。
"class": クラス定義、特異クラス定義、モジュール定義への突入。
"end": クラス定義、特異クラス定義、モ......ルでは nil。
call/return/c-call/c-return
呼び出された/リターンするメソッドを表す Symbol オブジェクト。
class/end
nil。
raise
最後に呼び出されたメソッドを表す Symbol オブジェクト。
トップレベルで......ドが属するクラスを表す
Class オブジェクト。トップレベルでは nil。
call/return/c-call/c-return
呼び出された/リターンするメソッドが属するクラス
を表す Class オブジェクト。
class/end
nil。
raise... -
Kernel
. # autoload?(const _ name) -> String | nil (21.0) -
const_name が Kernel.#autoload 設定されているか調べます。
...t_name 定数をString または Symbol で指定します。
//emlist[例][ruby]{
# ------- /tmp/foo.rb ---------
class Foo
class Bar
end
end
# ----- end of /tmp/foo.rb ----
class Foo
end
p Foo.autoload?(:Bar) #=> nil
Foo.autoload :Bar, '/tmp/foo'
p Foo.autoload?(:Bar) #=> "/t... -
ObjectSpace
. # define _ finalizer(obj) {|id| . . . } -> Array (21.0) -
obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。
...として実行されます。
=== 使い方の注意
以下は、define_finalizer の使い方の悪い例です。
//emlist[悪い例][ruby]{
class Foo
def initialize
ObjectSpace.define_finalizer(self) {
puts "foo"
}
end
end
Foo.new
GC.start
//}
これは、渡された proc......す。これは、クラスのコンテキストで Proc を
生成することで上記の問題を回避しています。
//emlist[例][ruby]{
class Bar
def Bar.callback
proc {
puts "bar"
}
end
def initialize
ObjectSpace.define_finalizer(self, Bar.callback)
end
end
Bar.......不安なうちは -d オプションで
事前に例外の発生の有無を確認しておいた方が良いでしょう。
//emlist[例][ruby]{
class Baz
def initialize
ObjectSpace.define_finalizer self, eval(%q{
proc {
raise "baz" rescue puts $!
raise "baz2"... -
ObjectSpace
. # define _ finalizer(obj , proc) -> Array (21.0) -
obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。
...として実行されます。
=== 使い方の注意
以下は、define_finalizer の使い方の悪い例です。
//emlist[悪い例][ruby]{
class Foo
def initialize
ObjectSpace.define_finalizer(self) {
puts "foo"
}
end
end
Foo.new
GC.start
//}
これは、渡された proc......す。これは、クラスのコンテキストで Proc を
生成することで上記の問題を回避しています。
//emlist[例][ruby]{
class Bar
def Bar.callback
proc {
puts "bar"
}
end
def initialize
ObjectSpace.define_finalizer(self, Bar.callback)
end
end
Bar.......不安なうちは -d オプションで
事前に例外の発生の有無を確認しておいた方が良いでしょう。
//emlist[例][ruby]{
class Baz
def initialize
ObjectSpace.define_finalizer self, eval(%q{
proc {
raise "baz" rescue puts $!
raise "baz2"... -
Marshal
. # dump(obj , limit = -1) -> String (15.0) -
obj を指定された出力先に再帰的に出力します。
...例外 TypeError が発生します。
ファイルに書き出せないオブジェクトは以下の通りです。
* 名前のついてない Class/Module オブジェクト。(この場
合は、例外 ArgumentError が発生します。無名クラスについて
は、Module.new を......ェクトをファイルに
書きだそうとした場合に発生します。
@raise ArgumentError 名前の付いていない Class や Module
オブジェクトをダンプしようとした場合に発生します。
@raise ArgumentError limit 段以上... -
Marshal
. # dump(obj , port , limit = -1) -> IO (15.0) -
obj を指定された出力先に再帰的に出力します。
...例外 TypeError が発生します。
ファイルに書き出せないオブジェクトは以下の通りです。
* 名前のついてない Class/Module オブジェクト。(この場
合は、例外 ArgumentError が発生します。無名クラスについて
は、Module.new を......ェクトをファイルに
書きだそうとした場合に発生します。
@raise ArgumentError 名前の付いていない Class や Module
オブジェクトをダンプしようとした場合に発生します。
@raise ArgumentError limit 段以上... -
Kernel
. # String(arg) -> String (9.0) -
引数を文字列(String)に変換した結果を返します。
...arg を返します。
@param arg 変換対象のオブジェクトです。
@raise TypeError to_s の返り値が文字列でなければ発生します。
//emlist[例][ruby]{
class Foo
def to_s
"hogehoge"
end
end
arg = Foo.new
p String(arg) #=> "hogehoge"
//}
@see Object#to_s,String... -
Kernel
. # autoload(const _ name , feature) -> nil (9.0) -
定数 const_name を最初に参照した時に feature を Kernel.#require するように設定します。
...対象を指定します。
@raise LoadError featureのロードに失敗すると発生します。
//emlist[][ruby]{
# ------- /tmp/foo.rb ---------
class Bar
end
# ----- end of /tmp/foo.rb ----
autoload :Bar, '/tmp/foo'
p Bar #=> Bar
//}
@see Kernel.#autoload?,Module#autoload,Kernel.#require... -
Kernel
. # fail -> () (9.0) -
例外を発生させます。 発生した例外は変数 $! に格納されます。また例外が 発生した時のスタックトレースは変数 $@ に格納され ます。発生した例外は rescue 節で捕捉できます。
...y
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 MyException
def exception(mesg=nil)
SecurityError.new(mesg)
end
end
begin
raise MyException.new
rescue SecurityError
p $! #=> #<Secur...