関連するキーワード
種類
- インスタンスメソッド (129)
- 特異メソッド (3)
ライブラリ
- ビルトイン (117)
- pp (6)
-
syck
/ rubytypes (6) -
yaml
/ rubytypes (3)
キーワード
- === (3)
-
_ _ send _ _ (6) -
_ dump (3) - class (3)
- display (3)
- extend (3)
- initialize (3)
-
initialize
_ copy (3) - inspect (3)
-
instance
_ eval (6) -
instance
_ exec (3) -
instance
_ of? (3) -
instance
_ variable _ defined? (3) -
instance
_ variable _ get (3) -
instance
_ variables (3) -
is
_ a? (3) -
kind
_ of? (3) -
marshal
_ dump (3) -
marshal
_ load (3) -
method
_ missing (3) - methods (3)
-
pretty
_ print (3) -
pretty
_ print _ cycle (3) -
remove
_ instance _ variable (3) -
respond
_ to? (3) - send (6)
-
singleton
_ class (2) -
singleton
_ method _ added (3) -
singleton
_ method _ removed (3) -
singleton
_ method _ undefined (3) -
singleton
_ methods (3) -
to
_ ary (3) -
to
_ hash (3) -
to
_ int (3) -
to
_ proc (3) -
to
_ regexp (3) -
to
_ s (3) -
to
_ str (3) -
to
_ yaml (3) -
to
_ yaml _ properties (3) - type (1)
-
yaml
_ tag _ subclasses? (3)
検索結果
先頭5件
-
Object
# class -> Class (6258) -
レシーバのクラスを返します。
...バのクラスを返します。
p "ruby".class #=> String
p 999999999999999.class #=> Bignum
p ARGV.class #=> Array
p self.class #=> Object
p Class.class #=> Class
p Kernel.class #=> Module
@see Class#superclass,Object#kind_of?,Object#instance_of?... -
Object
# singleton _ class -> Class (6239) -
レシーバの特異クラスを返します。 まだ特異クラスがなければ、新しく作成します。
...NilClass, TrueClass,
FalseClass を返します。
@raise TypeError レシーバが Fixnum か Symbol の場合に発生します。
Object.new.singleton_class #=> #<Class:#<Object:0xb7ce1e24>>
String.singleton_class #=> #<Class:String>
nil.singleton_class #=> NilClass
@se......e Object#class... -
Object
. yaml _ tag _ subclasses? -> true (6101) -
常に true を返します。
常に true を返します。
ライブラリ内部で使用します。 -
Object
# type -> Class (3158) -
レシーバのクラスを返します。
...バのクラスを返します。
p "ruby".class #=> String
p 999999999999999.class #=> Bignum
p ARGV.class #=> Array
p self.class #=> Object
p Class.class #=> Class
p Kernel.class #=> Module
@see Class#superclass,Object#kind_of?,Object#instance_of?... -
Object
# singleton _ methods(inherited _ too = true) -> [String] (109) -
そのオブジェクトに対して定義されている特異メソッド名 (public あるいは protected メソッド) の一覧を返します。
...の一覧を返します。
クラスメソッド(Classのインスタンスの特異メソッド)に関しては
引数が真のとき、スーパークラスのクラスメソッドも対象になります。
singleton_methods(false) は、Object#methods(false) と同じです。
@param inherit......= Class.new
class <<Parent
private; def private_class_parent() end
protected; def protected_class_parent() end
public; def public_class_parent() end
end
Foo = Class.new(Parent)
class <<Foo
private; def private_class_foo() end
protected; def protected_class......_foo() end
public; def public_class_foo() end
end
module Bar
private; def private_bar() end
protected; def protected_bar() end
public; def public_bar() end
end
obj = Foo.new
class <<obj
include Bar
private; def private_self() end
protected... -
Object
# singleton _ methods(inherited _ too = true) -> [Symbol] (109) -
そのオブジェクトに対して定義されている特異メソッド名 (public あるいは protected メソッド) の一覧を返します。
...の一覧を返します。
クラスメソッド(Classのインスタンスの特異メソッド)に関しては
引数が真のとき、スーパークラスのクラスメソッドも対象になります。
singleton_methods(false) は、Object#methods(false) と同じです。
@param inherit......= Class.new
class <<Parent
private; def private_class_parent() end
protected; def protected_class_parent() end
public; def public_class_parent() end
end
Foo = Class.new(Parent)
class <<Foo
private; def private_class_foo() end
protected; def protected_class......_foo() end
public; def public_class_foo() end
end
module Bar
private; def private_bar() end
protected; def protected_bar() end
public; def public_bar() end
end
obj = Foo.new
class <<obj
include Bar
private; def private_self() end
protected... -
Object
# initialize(*args , &block) -> object (31) -
ユーザ定義クラスのオブジェクト初期化メソッド。
...。
このメソッドは Class#new から新しく生成されたオブ
ジェクトの初期化のために呼び出されます。他の言語のコンストラクタに相当します。
デフォルトの動作ではなにもしません。
initialize には
Class#new に与えられた引数......です。
@param block 初期化時のブロック引数です。必須ではありません。
class Foo
def initialize name
puts "initialize Foo"
@name = name
end
end
class Bar < Foo
def initialize name, pass
puts "initialize Bar"
super name
@pas......s = pass
end
end
it = Bar.new('myname','0500')
p it
#=> initialize Bar
# initialize Foo
# #<Bar:0x2b68f08 @name="myname", @pass="0500">
@see Class#new... -
Object
# instance _ of?(klass) -> bool (25) -
オブジェクトがクラス klass の直接のインスタンスである時真を返します。
...obj.kind_of?(c) も成立します。
@param klass Classかそのサブクラスのインスタンスです。
class C < Object
end
class S < C
end
obj = S.new
p obj.instance_of?(S) # true
p obj.instance_of?(C) # false
@see Object#kind_of?,Object#class... -
Object
# to _ s -> String (25) -
オブジェクトの文字列表現を返します。
...て文字列に変換し
ます。
class Foo
def initialize num
@num = num
end
end
it = Foo.new(40)
puts it #=> #<Foo:0x2b69110>
class Foo
def to_s
"Class:Foo Number:#{@num}"
end
end
puts it #=> Class:Foo Number:40
@see Object#to_str,Kernel.#String... -
Object
# is _ a?(mod) -> bool (19) -
オブジェクトが指定されたクラス mod かそのサブクラスのインスタンスであるとき真を返します。
...nd
class C < Object
include M
end
class S < C
end
obj = S.new
p obj.is_a?(S) # true
p obj.is_a?(C) # true
p obj.is_a?(Object) # true
p obj.is_a?(M) # true
p obj.is_a?(Hash) # false
@see Object#instance_of?,Module#===,Object#class... -
Object
# kind _ of?(mod) -> bool (19) -
オブジェクトが指定されたクラス mod かそのサブクラスのインスタンスであるとき真を返します。
...nd
class C < Object
include M
end
class S < C
end
obj = S.new
p obj.is_a?(S) # true
p obj.is_a?(C) # true
p obj.is_a?(Object) # true
p obj.is_a?(M) # true
p obj.is_a?(Hash) # false
@see Object#instance_of?,Module#===,Object#class... -
Object
# methods(include _ inherited = true) -> [String] (19) -
そのオブジェクトに対して呼び出せるメソッド名の一覧を返します。 このメソッドは public メソッドおよび protected メソッドの名前を返します。
...す。
ただし特別に、引数が偽の時は Object#singleton_methods(false) と同じになっています。
@param include_inherited 引数が偽の時は Object#singleton_methods(false) と同じになります。
#例1:
class Parent
private; def private_parent() end......ed_parent() end
public; def public_parent() end
end
class Foo < Parent
private; def private_foo() end
protected; def protected_foo() end
public; def public_foo() end
end
obj = Foo.new
class <<obj
private; def private_singleton() end
pro......して
# いるが、Object のインスタンスメソッドは一覧から排除している。
p obj.methods(true) - Object.instance_methods(true)
p obj.public_methods(true) - Object.public_instance_methods(true)
p obj.private_methods(true) - Object.private_instance_methods... -
Object
# methods(include _ inherited = true) -> [Symbol] (19) -
そのオブジェクトに対して呼び出せるメソッド名の一覧を返します。 このメソッドは public メソッドおよび protected メソッドの名前を返します。
...す。
ただし特別に、引数が偽の時は Object#singleton_methods(false) と同じになっています。
@param include_inherited 引数が偽の時は Object#singleton_methods(false) と同じになります。
#例1:
class Parent
private; def private_parent() end......ed_parent() end
public; def public_parent() end
end
class Foo < Parent
private; def private_foo() end
protected; def protected_foo() end
public; def public_foo() end
end
obj = Foo.new
class <<obj
private; def private_singleton() end
pro......して
# いるが、Object のインスタンスメソッドは一覧から排除している。
p obj.methods(true) - Object.instance_methods(true)
p obj.public_methods(true) - Object.public_instance_methods(true)
p obj.private_methods(true) - Object.private_instance_methods... -
Object
# ===(other) -> bool (13) -
メソッド Object#== の別名です。 case 式で使用されます。このメソッドは case 式での振る舞いを考慮して、 各クラスの性質に合わせて再定義すべきです。
...メソッド Object#== の別名です。
case 式で使用されます。このメソッドは case 式での振る舞いを考慮して、
各クラスの性質に合わせて再定義すべきです。
一般的に所属性のチェックを実現するため適宜再定義されます。
when......"Instance of String class. But don't hit."
else
"unknown"
end
end
puts check([]) #=> unknown
puts check("mash-up in Ruby on Rails") #=> instance of String class. But not hit...
puts check("<Ruby's world>") #=> hit! <Ruby's world>
@see Object#==, Range#===, Module#===... -
Object
# extend(*modules) -> self (13) -
引数で指定したモジュールのインスタンスメソッドを self の特異 メソッドとして追加します。
...def a
'ok Foo'
end
end
module Bar
def b
'ok Bar'
end
end
obj = Object.new
obj.extend Foo, Bar
p obj.a #=> "ok Foo"
p obj.b #=> "ok Bar"
class Klass
include Foo
extend Bar
end
p Klass.new.a #=> "ok Foo"
p Klass.b #=> "ok Bar"......きます。
ただしその場合、フック用のメソッド
が Module#extended ではなく Module#included になるという違いがあります。
# obj.extend Foo, Bar とほぼ同じ
class << obj
include Foo, Bar
end
@see Module#extend_object,Module#include,Module#extended... -
Object
# initialize _ copy(obj) -> object (13) -
(拡張ライブラリによる) ユーザ定義クラスのオブジェクトコピーの初期化メソッド。
...は self を obj の内容で置き換えます。ただ
し、self のインスタンス変数や特異メソッドは変化しません。
Object#clone, Object#dupの内部で使われています。
initialize_copy は、Ruby インタプリタが知り得ない情報をコピーするた
めに......alize_copy でコピーするよう定義しておくことで、dup や clone
を再定義する必要がなくなります。
デフォルトの Object#initialize_copy は、 freeze チェックおよび型のチェックを行い self
を返すだけのメソッドです。
initialize_copy と......生します。
@see Object#clone,Object#dup
以下に例として、dup や clone がこのメソッドをどのように利用しているかを示します。
obj.dup は、新たに生成したオブジェクトに対して
initialize_copy を呼び
obj2 = obj.class.allocate
obj2.init... -
Object
# inspect -> String (13) -
オブジェクトを人間が読める形式に変換した文字列を返します。
...が読める形式に変換した文字列を返します。
組み込み関数 Kernel.#p は、このメソッドの結果を使用して
オブジェクトを表示します。
puts Class.new.inspect #=> #<Class:0xbafd88>
puts Time.now.inspect #=> 2007-10-15 21:01:37 +0900
@see Kernel.#p... -
Object
# instance _ exec(*args) {|*vars| . . . } -> object (13) -
与えられたブロックをレシーバのコンテキストで実行します。
...メータに渡す値です。
class KlassWithSecret
def initialize
@secret = 99
end
end
k = KlassWithSecret.new
# 以下で x には 5 が渡される
k.instance_exec(5) {|x| @secret + x } #=> 104
@see Module#class_exec, Module#module_exec, Object#instance_eval... -
Object
# remove _ instance _ variable(name) -> object (13) -
オブジェクトからインスタンス変数 name を取り除き、そのインス タンス変数に設定されていた値を返します。
...場合に発生します。
class Foo
def foo
@foo = 1
p remove_instance_variable(:@foo) #=> 1
p remove_instance_variable(:@foo) # instance variable @foo not defined (NameError)
end
end
Foo.new.foo
@see Module#remove_class_variable,Module#remove_cons... -
Object
# respond _ to?(name , include _ private = false) -> bool (13) -
オブジェクトが public メソッド name を持つとき真を返します。 include_private が真のときは private メソッドに対しても真を返します。
...とができることをいいます。
@param name Symbol または文字列で指定するメソッド名です。
class F
def hello
"Bonjour"
end
end
class D
private
def hello
"Guten Tag"
end
end
list = [F.new,D.new]
list.each{|it| puts it.hello if... -
Object
# singleton _ method _ removed(name) -> object (13) -
特異メソッドが Module#remove_method に より削除された時にインタプリタから呼び出されます。
...されたメソッド名が Symbol で渡されます。
class Foo
def singleton_method_removed(name)
puts "singleton method \"#{name}\" was removed"
end
end
obj = Foo.new
def obj.foo
end
class << obj
remove_method :foo
end
#=> singleton......method "foo" was removed
@see Module#method_removed,Object#singleton_method_added,Object#singleton_method_undefined... -
Object
# singleton _ method _ undefined(name) -> object (13) -
特異メソッドが Module#undef_method または undef により未定義にされた時にインタプリタから呼び出されます。
...ソッド名が Symbol で渡されます。
class Foo
def singleton_method_undefined(name)
puts "singleton method \"#{name}\" was undefined"
end
end
obj = Foo.new
def obj.foo
end
def obj.bar
end
class << obj
undef_method :foo
end......obj.instance_eval {undef bar}
#=> singleton method "foo" was undefined
# singleton method "bar" was undefined
@see Module#method_undefined,Object#singleton_method_added,Object#singleton_method_removed , d:spec/def#undef... -
Object
# _ _ send _ _ (name , *args) -> object (7) -
オブジェクトのメソッド name を args を引数に して呼び出し、メソッドの実行結果を返します。
...名です。
@param args 呼び出すメソッドに渡す引数です。
p -365.send(:abs) #=> 365
p "ruby".send(:sub,/./,"R") #=> "Ruby"
class Foo
def foo() "foo" end
def bar() "bar" end
def baz() "baz" end
end
# 任意のキーとメソッド(の名前)の関係を......メソッドを呼び出す
# レシーバは任意(Foo クラスのインスタンスである必要もない)
p Foo.new.send(methods[1]) # => "foo"
p Foo.new.send(methods[2]) # => "bar"
p Foo.new.send(methods[3]) # => "baz"
@see Object#method, Kernel.#eval, Proc, Method... -
Object
# _ _ send _ _ (name , *args) { . . . . } -> object (7) -
オブジェクトのメソッド name を args を引数に して呼び出し、メソッドの実行結果を返します。
...名です。
@param args 呼び出すメソッドに渡す引数です。
p -365.send(:abs) #=> 365
p "ruby".send(:sub,/./,"R") #=> "Ruby"
class Foo
def foo() "foo" end
def bar() "bar" end
def baz() "baz" end
end
# 任意のキーとメソッド(の名前)の関係を......メソッドを呼び出す
# レシーバは任意(Foo クラスのインスタンスである必要もない)
p Foo.new.send(methods[1]) # => "foo"
p Foo.new.send(methods[2]) # => "bar"
p Foo.new.send(methods[3]) # => "baz"
@see Object#method, Kernel.#eval, Proc, Method... -
Object
# _ dump(limit) -> String (7) -
Marshal.#dump において出力するオブジェクトがメソッド _dump を定義している場合には、そのメソッドの結果が書き出されます。
...ド _dump
を定義している場合には、そのメソッドの結果が書き出されます。
バージョン1.8.0以降ではObject#marshal_dump, Object#marshal_loadの使用
が推奨されます。 Marshal.dump するオブジェクトが _dump と marshal_dump の両方の
メソッド......t 再帰の制限レベルを表す整数です。
@return オブジェクトを文字列化したものを返すように定義すべきです。
class Foo
def initialize(arg)
@foo = arg
end
def _dump(limit)
Marshal.dump(@foo, limit)
end
def self._load(obj)......御を行いたい場合や拡張ライブラリで定義し
たクラスのインスタンスがインスタンス変数以外に情報を保持する場合に
利用します。(例えば、クラス Time は、_dump/_load を定義して
います)
@see Object#marshal_dump,Object#marshal_load... -
Object
# display(out = $ stdout) -> nil (7) -
オブジェクトを out に出力します。以下のように定義されています。
...います。
class Object
def display(out = $stdout)
out.print self.to_s
nil
end
end
@param out 出力先のIOオブジェクトです。指定しない場合は標準出力に出力されます。
@return nil を返します。
Object.new.display #=> #<Object:0xbb0210>... -
Object
# instance _ eval {|obj| . . . } -> object (7) -
オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを 評価してその結果を返します。
...いるかのように実行されます。
スタックトレースの表示などを差し替えることができます。
例:
class Foo
def initialize data
@key = data
end
private
def do_fuga
p 'secret'
end
end
some = Foo.new 'XXX'
some.in... -
Object
# instance _ eval(expr , filename = "(eval)" , lineno = 1) -> object (7) -
オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを 評価してその結果を返します。
...いるかのように実行されます。
スタックトレースの表示などを差し替えることができます。
例:
class Foo
def initialize data
@key = data
end
private
def do_fuga
p 'secret'
end
end
some = Foo.new 'XXX'
some.in... -
Object
# instance _ variable _ defined?(var) -> bool (7) -
インスタンス変数 var が定義されていたら真を返します。
...す。
class Fred
def initialize(p1, p2)
@a, @b = p1, p2
end
end
fred = Fred.new('cat', 99)
p fred.instance_variable_defined?(:@a) #=> true
p fred.instance_variable_defined?("@b") #=> true
p fred.instance_variable_defined?("@c") #=> false
@see Object#insta......nce_variable_get,Object#instance_variable_set,Object#instance_variables... -
Object
# instance _ variable _ get(var) -> object|nil (7) -
オブジェクトのインスタンス変数の値を取得して返します。
...す。
class Foo
def initialize
@foo = 1
end
end
obj = Foo.new
p obj.instance_variable_get("@foo") #=> 1
p obj.instance_variable_get(:@foo) #=> 1
p obj.instance_variable_get(:@bar) #=> nil
@see Object#instance_variable_set,Object#instance_......variables,Object#instance_variable_defined?... -
Object
# instance _ variables -> [String] (7) -
オブジェクトのインスタンス変数名を文字列の配列として返します。
...列の配列として返します。
obj = Object.new
obj.instance_eval { @foo, @bar = nil }
p obj.instance_variables
#=> ["@foo", "@bar"]
@see Object#instance_variable_get,Kernel.#local_variables,Kernel.#global_variables,Module.constants,Module#constants,Module#class_variables... -
Object
# instance _ variables -> [Symbol] (7) -
オブジェクトのインスタンス変数名をシンボルの配列として返します。
...ボルの配列として返します。
obj = Object.new
obj.instance_eval { @foo, @bar = nil }
p obj.instance_variables
#=> [:@foo, :@bar]
@see Object#instance_variable_get,Kernel.#local_variables,Kernel.#global_variables,Module.constants,Module#constants,Module#class_variables... -
Object
# marshal _ dump -> object (7) -
Marshal.#dump を制御するメソッドです。
...なく
marshal_dump/marshal_load を使うべきです。
@return 任意のオブジェクトで marshal_load の引数に利用できます。
class Foo
def initialize(arg)
@foo = arg
end
def marshal_dump
@foo
end
def marshal_load(obj)
p obj
@foo = ob......定義されていてもマーシャルできるようになります
(特異メソッドの情報が自動的に dump されるようになるわけではなく、
marshal_dump/marshal_load によりそれを実現する余地があるということです)。
@see Object#marshal_load, Marshal... -
Object
# marshal _ load(obj) -> object (7) -
Marshal.#load を制御するメソッドです。
...のとき、marshal_dump の返り値が marshal_load の引数に利用されます。
marshal_load 時の self は、生成されたばかり(Class#allocate されたばかり) の状態です。
marshal_dump/marshal_load の仕組みは Ruby 1.8.0 から導入されました。
これから......書くプログラムでは _dump/_load ではなく
marshal_dump/marshal_load を使うべきです。
@param obj marshal_dump の返り値のコピーです。
@return 返り値は無視されます。
@see Object#marshal_dump, Marshal... -
Object
# method _ missing(name , *args) -> object (7) -
呼びだされたメソッドが定義されていなかった時、Rubyインタプリタがこのメソッド を呼び出します。
...return ユーザー定義の method_missing メソッドの返り値が未定義メソッドの返り値で
あるかのように見えます。
class Foo
def initialize(data)
@data = data
end
def method_missing(name, lang)
if name.to_s =~ /\Afind_(\d+)_in\z/
if... -
Object
# pretty _ print(pp) -> () (7) -
PP.pp や Kernel.#pp がオブジェクトの内容を出力するときに 呼ばれるメソッドです。PP オブジェクト pp を引数として呼ばれます。
...います。
@param pp PP オブジェクトです。
例:
class Array
def pretty_print(q)
q.group(1, '[', ']') {
q.seplist(self) {|v|
q.pp v
}
}
end
end
@see Object#pretty_print_cycle, Object#inspect, PrettyPrint#text, PrettyPrint#group, PrettyPrint#br... -
Object
# pretty _ print _ cycle(pp) -> () (7) -
プリティプリント時にオブジェクトの循環参照が検出された場合、 Object#pretty_print の代わりに呼ばれるメソッドです。
...された場合、
Object#pretty_print の代わりに呼ばれるメソッドです。
あるクラスの pp の出力をカスタマイズしたい場合は、
このメソッドも再定義する必要があります。
@param pp PP オブジェクトです。
例:
class Array
def prett......y_print_cycle(q)
q.text(empty? ? '[]' : '[...]')
end
end
@see Object#pretty_print... -
Object
# send(name , *args) -> object (7) -
オブジェクトのメソッド name を args を引数に して呼び出し、メソッドの実行結果を返します。
...名です。
@param args 呼び出すメソッドに渡す引数です。
p -365.send(:abs) #=> 365
p "ruby".send(:sub,/./,"R") #=> "Ruby"
class Foo
def foo() "foo" end
def bar() "bar" end
def baz() "baz" end
end
# 任意のキーとメソッド(の名前)の関係を......メソッドを呼び出す
# レシーバは任意(Foo クラスのインスタンスである必要もない)
p Foo.new.send(methods[1]) # => "foo"
p Foo.new.send(methods[2]) # => "bar"
p Foo.new.send(methods[3]) # => "baz"
@see Object#method, Kernel.#eval, Proc, Method...
