キーワード
-
_ _ send _ _ (6) - class (3)
- freeze (3)
- inspect (3)
-
instance
_ eval (6) -
instance
_ variables (3) - method (3)
-
pretty
_ print (3) - send (6)
-
to
_ a (3) -
to
_ ary (3) -
to
_ int (3) -
to
_ str (3) - type (1)
検索結果
先頭5件
-
Object
# pretty _ print(pp) -> () (12217) -
PP.pp や Kernel.#pp がオブジェクトの内容を出力するときに 呼ばれるメソッドです。PP オブジェクト pp を引数として呼ばれます。
...
PP.pp や Kernel.#pp がオブジェクトの内容を出力するときに
呼ばれるメソッドです。PP オブジェクト pp を引数として呼ばれます。
あるクラスの pp の出力をカスタマイズしたい場合は、このメソッドを再定義します。
そのと...... pretty_print メソッドは指定された pp に対して表示したい自身の内容を追加して
いかなければいけません。いくつかの組み込みクラスについて、
pp ライブラリはあらかじめ pretty_print メソッドを定義しています。
@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#breakable... -
Object
# inspect -> String (6137) -
オブジェクトを人間が読める形式に変換した文字列を返します。
...が読める形式に変換した文字列を返します。
組み込み関数 Kernel.#p は、このメソッドの結果を使用して
オブジェクトを表示します。
puts Class.new.inspect #=> #<Class:0xbafd88>
puts Time.now.inspect #=> 2007-10-15 21:01:37 +0900
@see Kernel.#p... -
Object
# type -> Class (3143) -
レシーバのクラスを返します。
...レシーバのクラスを返します。
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
# instance _ eval(expr , filename = "(eval)" , lineno = 1) -> object (119) -
オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを 評価してその結果を返します。
...オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを
評価してその結果を返します。
オブジェクトのコンテキストで評価するとは評価中の self をそのオブジェクトに......実行するということです。
また、文字列 expr やブロック中でメソッドを定義すればそのオブジェクトの特異メソッドが定義されます。
ただし、ローカル変数だけは、文字列 expr の評価では instance_eval の外側のスコープと、......れはメソッド定義のネストと同じです。
d:spec/def#nest_method を参照してください。
@param expr 評価する文字列です。
@param filename 文字列を指定します。ファイル filename に文字列 expr が
書かれているかのように実行... -
Object
# freeze -> self (49) -
オブジェクトを凍結(内容の変更を禁止)します。
...オブジェクトを凍結(内容の変更を禁止)します。
凍結されたオブジェクトの変更は
例外 TypeError を発生させます。
いったん凍結されたオブジェクトを元に戻す方法はありません。
凍結されるのはオブジェクトであり、......ル変数なら Kernel.#trace_var が使えます。
@return self を返します。
a1 = "foo".freeze
a1 = "bar"
p a1 #=> "bar"
a2 = "foo".freeze
a2.replace("bar")# can't modify frozen string (TypeError)
凍結を解除することはできませんが、Object#dup を使えばほ......ます。
a = [1].freeze
p a.frozen? #=> true
a[0] = "foo"
p a # can't modify frozen array (TypeError)
b = a.dup
p b #=> [1]
p b.frozen? #=> false
b[0] = "foo"
p b #=> ["foo"]
@see Object#frozen?,Object#dup,Kernel.#trace_var......ル変数なら Kernel.#trace_var が使えます。
@return self を返します。
a1 = "foo".freeze
a1 = "bar"
p a1 #=> "bar"
a2 = "foo".freeze
a2.replace("bar")# can't modify frozen string (RuntimeError)
凍結を解除することはできませんが、Object#dup を使えば......す。
a = [1].freeze
p a.frozen? #=> true
a[0] = "foo"
p a # can't modify frozen array (RuntimeError)
b = a.dup
p b #=> [1]
p b.frozen? #=> false
b[0] = "foo"
p b #=> ["foo"]
@see Object#frozen?,Object#dup,Kernel.#trace_var... -
Object
# class -> Class (43) -
レシーバのクラスを返します。
...レシーバのクラスを返します。
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
# _ _ send _ _ (name , *args) -> object (37) -
オブジェクトのメソッド name を args を引数に して呼び出し、メソッドの実行結果を返します。
...のメソッドを呼び出せます。
d:spec/def#limit も参照してください。
@param name 文字列かSymbol で指定するメソッド名です。
@param args 呼び出すメソッドに渡す引数です。
p -365.send(:abs) #=> 365
p "ruby".send(:sub,/./,"R") #=> "Ruby"
c......メソッドを呼び出す
# レシーバは任意(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 (37) -
オブジェクトのメソッド name を args を引数に して呼び出し、メソッドの実行結果を返します。
...のメソッドを呼び出せます。
d:spec/def#limit も参照してください。
@param name 文字列かSymbol で指定するメソッド名です。
@param args 呼び出すメソッドに渡す引数です。
p -365.send(:abs) #=> 365
p "ruby".send(:sub,/./,"R") #=> "Ruby"
c......メソッドを呼び出す
# レシーバは任意(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 (37) -
オブジェクトのメソッド name を args を引数に して呼び出し、メソッドの実行結果を返します。
...のメソッドを呼び出せます。
d:spec/def#limit も参照してください。
@param name 文字列かSymbol で指定するメソッド名です。
@param args 呼び出すメソッドに渡す引数です。
p -365.send(:abs) #=> 365
p "ruby".send(:sub,/./,"R") #=> "Ruby"
c......メソッドを呼び出す
# レシーバは任意(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 (37) -
オブジェクトのメソッド name を args を引数に して呼び出し、メソッドの実行結果を返します。
...のメソッドを呼び出せます。
d:spec/def#limit も参照してください。
@param name 文字列かSymbol で指定するメソッド名です。
@param args 呼び出すメソッドに渡す引数です。
p -365.send(:abs) #=> 365
p "ruby".send(:sub,/./,"R") #=> "Ruby"
c......メソッドを呼び出す
# レシーバは任意(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
# to _ a -> Array (31) -
オブジェクトを配列に変換した結果を返します。
...い(to_ary を持たない)オブジェクトは、自身のみを含む長さ 1 の配
列に変換されます。
このメソッドは、将来 Object のメソッドからは取り除かれます。
なので to_a を使用する場合、
* すべてのオブジェクトに to_a が定義さ......は必要に応じて自分で定義する
などということが必要です。
p( {'a'=>1}.to_a ) # [["a", 1]]
p ['array'].to_a # ["array"]
p 1.to_a # [1] (warning: default `to_a' will be obsolete)
p nil.to_a # []
@see Object#to_ary,Kernel.#Array......が、
このメソッドは実際には Object クラスには定義されていません。
必要に応じてサブクラスで定義すべきものです。
p( {'a'=>1}.to_a ) # [["a", 1]]
p ['array'].to_a # ["array"]
p nil.to_a # []
@see Object#to_ary,Kernel.#Array... -
Object
# instance _ eval {|obj| . . . } -> object (19) -
オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを 評価してその結果を返します。
...オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを
評価してその結果を返します。
オブジェクトのコンテキストで評価するとは評価中の self をそのオブジェクトに......実行するということです。
また、文字列 expr やブロック中でメソッドを定義すればそのオブジェクトの特異メソッドが定義されます。
ただし、ローカル変数だけは、文字列 expr の評価では instance_eval の外側のスコープと、......れはメソッド定義のネストと同じです。
d:spec/def#nest_method を参照してください。
@param expr 評価する文字列です。
@param filename 文字列を指定します。ファイル filename に文字列 expr が
書かれているかのように実行... -
Object
# instance _ variables -> [String] (19) -
オブジェクトのインスタンス変数名を文字列の配列として返します。
...数名を文字列の配列として返します。
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#cla... -
Object
# instance _ variables -> [Symbol] (19) -
オブジェクトのインスタンス変数名をシンボルの配列として返します。
...名をシンボルの配列として返します。
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... -
Object
# method(name) -> Method (19) -
オブジェクトのメソッド name をオブジェクト化した Method オブジェクトを返します。
...@param name メソッド名をSymbol またはStringで指定します。
@raise NameError 定義されていないメソッド名を引数として与えると発生します。
me = -365.method(:abs)
p me #=> #<Method: Fixnum#abs>
p me.call #=> 365
@see Module#instance_method,Method,Object......#__send__,Kernel.#eval... -
Object
# to _ ary -> Array (13) -
オブジェクトの Array への暗黙の変換が必要なときに内部で呼ばれます。 デフォルトでは定義されていません。
...。
デフォルトでは定義されていません。
説明のためここに記載してありますが、
このメソッドは実際には Object クラスには定義されていません。
必要に応じてサブクラスで定義すべきものです。
このメソッドを定義する......われるすべての場面で代置可能であるような、
* 配列そのものとみなせるようなもの
という厳しいものになっています。
class Foo
def to_ary
[3,4]
end
end
it = Foo.new
p([1,2] + it) #=> [1, 2, 3, 4]
@see Object#to_a,Kernel.#Array... -
Object
# to _ int -> Integer (13) -
オブジェクトの Integer への暗黙の変換が必要なときに内部で呼ばれます。 デフォルトでは定義されていません。
...。
デフォルトでは定義されていません。
説明のためここに記載してありますが、
このメソッドは実際には Object クラスには定義されていません。
必要に応じてサブクラスで定義すべきものです。
このメソッドを定義する......件は、
* 整数が使われるすべての場面で代置可能であるような、
* 整数そのものとみなせるようなもの
という厳しいものになっています。
class Foo
def to_int
666
end
end
it = Foo.new
p(9**9 & it) #=> 8
@see Kernel.#Integer... -
Object
# to _ str -> String (13) -
オブジェクトの String への暗黙の変換が必要なときに内部で呼ばれます。 デフォルトでは定義されていません。
...。
デフォルトでは定義されていません。
説明のためここに記載してありますが、
このメソッドは実際には Object クラスには定義されていません。
必要に応じてサブクラスで定義すべきものです。
このメソッドを定義する......ての場面で代置可能であるような、
* 文字列そのものとみなせるようなもの
という厳しいものになっています。
class Foo
def to_str
'Edition'
end
end
it = Foo.new
p('Second' + it) #=> "SecondEdition"
@see Object#to_s,Kernel.#String...
