るりまサーチ

最速Rubyリファレンスマニュアル検索!
270件ヒット [1-100件を表示] (0.013秒)
トップページ > クラス:Object[x] > 種類:インスタンスメソッド[x]

ライブラリ

キーワード

検索結果

<< 1 2 3 > >>

Object#==(other) -> bool (2)

オブジェクトと other が等しければ真を返します。

...

デフォルトでは equal? と同じオブジェクト
の同一性判定になっています。

@param other 比較するオブジェクトです。

p("foo" == "bar") #=> false
p("foo" == "foo") #=> true

p(4 == 4) #=> true
p(4 == 4.0) #=> true

@see Object#equal?,Object#eql?...

Object#===(other) -> bool (2)

メソッド Object#== の別名です。 case 式で使用されます。このメソッドは case 式での振る舞いを考慮して、 各クラスの性質に合わせて再定義すべきです。

...メソッド Object#== の別名です。
case 式で使用されます。このメソッドは case 式での振る舞いを考慮して、
各クラスの性質に合わせて再定義すべきです。

一般的に所属性のチェックを実現するため適宜再定義されます。

when...
...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#===, Enumerable#grep...

Object#=~(other) -> false (2)

右辺に正規表現オブジェクトを置いた正規表現マッチ obj =~ /RE/ をサポートするためのメソッドです。 常に false を返します。

右辺に正規表現オブジェクトを置いた正規表現マッチ obj =~ /RE/
をサポートするためのメソッドです。
常に false を返します。

この定義により、=~ が再定義されたオブジェクトでは正常にマッチを行い、
それ以外のものは false を返すようになります。


@param other 任意のオブジェクトです。結果に影響しません。

obj = 'regexp'
p(obj =~ /re/) #=> 0

obj = nil
p(obj =~ /re/) #=> false

@see String#=~

Object#=~(other) -> nil (2)

右辺に正規表現オブジェクトを置いた正規表現マッチ obj =~ /RE/ をサポートするためのメソッドです。 常に nil を返します。

右辺に正規表現オブジェクトを置いた正規表現マッチ obj =~ /RE/
をサポートするためのメソッドです。
常に nil を返します。

この定義により、=~ が再定義されたオブジェクトでは正常にマッチを行い、
それ以外のものは nil を返すようになります。


@param other 任意のオブジェクトです。結果に影響しません。

obj = 'regexp'
p(obj =~ /re/) #=> 0

obj = nil
p(obj =~ /re/) #=> nil

@see String#=~

Object#__id__ -> Integer (2)

各オブジェクトに対して一意な整数を返します。あるオブジェクトに対し てどのような整数が割り当てられるかは不定です。

...られるかは不定です。

Rubyでは、(Garbage Collectされていない)アクティブなオブジェクト間で
重複しない整数(object_id)が各オブジェクトにひとつずつ割り当てられています。この
メソッドはその値を返します。

TrueClass, FalseCla...
...Symbol, Fixnum クラス
のインスタンスなど Immutable(変更不可)なオブジェクトの一部は同じ内容ならば必ず同じ object_id になります。

これは、Immutable ならば複数の場所から参照されても`破壊的操作'による問題が発生しない...
...で、object_id か __id__ を使用してください。

p "ruby".object_id #=> 22759500
p "ruby".object_id #=> 22759400

p [].object_id #=> 22759360
p [].object_id #=> 22759340

p :ruby.object_id #=> 103538
p :ruby.object_id #=> 103538

p 11.object_id #=> 23
p 11.object_id #...
...必ず同じ object_id になります。

これは、Immutable ならば複数の場所から参照されても`破壊的操作'による問題が発生しないので、
同じ内容のインスタンスを複数生成しないという内部実装が理由です。


p "ruby".object_id #=> 227...
...59500
p "ruby".object_id #=> 22759400

p [].object_id #=> 22759360
p [].object_id #=> 22759340

p :ruby.object_id #=> 103538
p :ruby.object_id #=> 103538

p 11.object_id #=> 23
p 11.object_id #=> 23

p true.object_id #=> 2
p true.object_id #=> 2

@see Object#equal?,Symbol...

絞り込み条件を変える

Object#__send__(name, *args) -> object (2)

オブジェクトのメソッド name を args を引数に して呼び出し、メソッドの実行結果を返します。

...メソッドを呼び出す
# レシーバは任意(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 (2)

オブジェクトのメソッド name を args を引数に して呼び出し、メソッドの実行結果を返します。

...メソッドを呼び出す
# レシーバは任意(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 (2)

Marshal.#dump において出力するオブジェクトがメソッド _dump を定義している場合には、そのメソッドの結果が書き出されます。

...ド _dump
を定義している場合には、そのメソッドの結果が書き出されます。

バージョン1.8.0以降ではObject#marshal_dump, Object#marshal_loadの使用
が推奨されます。 Marshal.dump するオブジェクトが _dump と marshal_dump の両方の
メソッド...
...御を行いたい場合や拡張ライブラリで定義し
たクラスのインスタンスがインスタンス変数以外に情報を保持する場合に
利用します。(例えば、クラス Time は、_dump/_load を定義して
います)

@see Object#marshal_dump,Object#marshal_load...

Object#class -> Class (2)

レシーバのクラスを返します。

...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#clone -> object (2)

オブジェクトの複製を作成して返します。

...) #=> true
p(obj_d.tainted?) #=> true
p(obj_d.frozen?) #=> false
p(obj_d.respond_to?(:fuga)) #=> false

@see Object#initialize_copy

==== 深いコピーと浅いコピー

clone や dup はオブジェクト自身を複製するだけで、オブジェクト...

絞り込み条件を変える

Object#dclone (2)

@todo

@todo

Object#display(out = $stdout) -> nil (2)

オブジェクトを 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>

@see...

Object#dup -> object (2)

オブジェクトの複製を作成して返します。

...) #=> true
p(obj_d.tainted?) #=> true
p(obj_d.frozen?) #=> false
p(obj_d.respond_to?(:fuga)) #=> false

@see Object#initialize_copy

==== 深いコピーと浅いコピー

clone や dup はオブジェクト自身を複製するだけで、オブジェクト...

Object#enum_for(method = :each, *args) -> Enumerable::Enumerator (2)

Enumerable::Enumerator.new(self, method, *args) を返します。

Enumerable::Enumerator.new(self, method, *args) を返します。

@param method メソッド名の文字列かシンボルです。
@param args 呼び出すメソッドに渡される引数です。
@raise NameError 存在しないメソッド名を指定すると発生します。

str = "xyz"

enum = str.enum_for(:each_byte)
p(a = enum.map{|b| '%02x' % b }) #=> ["78", "79", "7a"]

# protects an array from bein...

Object#enum_for(method = :each, *args) -> Enumerator (2)

Enumerator.new(self, method, *args) を返します。

Enumerator.new(self, method, *args) を返します。

@param method メソッド名の文字列かシンボルです。
@param args 呼び出すメソッドに渡される引数です。
@raise NameError 存在しないメソッド名を指定すると発生します。

str = "xyz"

enum = str.enum_for(:each_byte)
p(a = enum.map{|b| '%02x' % b }) #=> ["78", "79", "7a"]

# protects an array from being modified
...

絞り込み条件を変える

Object#eql?(other) -> bool (2)

オブジェクトと other が等しければ真を返します。Hash で二つのキー が等しいかどうかを判定するのに使われます。

...時には Object#hash メソッ
ドも再定義しなければなりません。

@param other 比較するオブジェクトです。

p("foo".eql?("bar")) #=> false
p("foo".eql?("foo")) #=> true

p(4.eql?(4)) #=> true
p(4.eql?(4.0)) #=> false

@see Object#hash,Object#equal?,Object#==...

Object#equal?(other) -> bool (2)

other が self 自身の時、真を返します。

...Object#object_idが一致する
かどうかを調べます。

@param other 比較するオブジェクトです。

p("foo".equal?("bar")) #=> false
p("foo".equal?("foo")) #=> false

p(4.equal?(4)) #=> true
p(4.equal?(4.0)) #=> false

p(:foo.equal? :foo) #=> true

@see Object#object_id...
...,Object#==,Object#eql?,Symbol...

Object#extend(*modules) -> self (2)

引数で指定したモジュールのインスタンスメソッドを self の特異 メソッドとして追加します。

...turn self を返します。

module Foo
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...
...きます。
ただしその場合、フック用のメソッド
が Module#extended ではなく Module#included になるという違いがあります。

# obj.extend Foo, Bar とほぼ同じ
class << obj
include Foo, Bar
end

@see Module#extend_object,Module#include,Module#extended...

Object#freeze -> self (2)

オブジェクトを凍結(内容の変更を禁止)します。

...1 #=> "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...
...=> "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#frozen? -> bool (2)

オブジェクトが凍結(内容の変更を禁止)されているときに真を返します。

...を禁止)されているときに真を返します。

obj = "someone"
p obj.frozen? #=> false
obj.freeze
p obj.frozen? #=> true

@see Object#freeze...

絞り込み条件を変える

Object#hash -> Fixnum (2)

オブジェクトのハッシュ値を返します。Hash クラスでオブジェク トを格納するのに用いられています。

...トのハッシュ値を返します。Hash クラスでオブジェク
トを格納するのに用いられています。

メソッド hash は Object#eql? と組み合わせて Hash クラスで利用されます。その際

A.eql?(B) ならば A.hash == B.hash

の関係を必ず満たして...
...ればいけません。eql? を再定義した時には必ずこちらも合わせ
て再定義してください。

デフォルトでは、Object#object_id と同じ値を返します。
ただし、Fixnum, Symbol, String だけは組込みのハッ
シュ関数が使用されます(これを変...
...す。Fixnumに収まらない場合は切り捨てられます。

p self.hash #=> 21658870
p 0.hash #=> 1
p 0.0.hash #=> 0
p nil.hash #=> 4

p "ruby".hash #=> -241670986
p "ruby".hash #=> -241670986
p :ruby.hash #=> 103538
p :ruby.hash #=> 103538

@see Object#eql?,Object#__id__...

Object#id -> Integer (2)

各オブジェクトに対して一意な整数を返します。あるオブジェクトに対し てどのような整数が割り当てられるかは不定です。

...られるかは不定です。

Rubyでは、(Garbage Collectされていない)アクティブなオブジェクト間で
重複しない整数(object_id)が各オブジェクトにひとつずつ割り当てられています。この
メソッドはその値を返します。

TrueClass, FalseCla...
...Symbol, Fixnum クラス
のインスタンスなど Immutable(変更不可)なオブジェクトの一部は同じ内容ならば必ず同じ object_id になります。

これは、Immutable ならば複数の場所から参照されても`破壊的操作'による問題が発生しない...
...で、object_id か __id__ を使用してください。

p "ruby".object_id #=> 22759500
p "ruby".object_id #=> 22759400

p [].object_id #=> 22759360
p [].object_id #=> 22759340

p :ruby.object_id #=> 103538
p :ruby.object_id #=> 103538

p 11.object_id #=> 23
p 11.object_id #...

Object#initialize(*args, &block) -> object (2)

ユーザ定義クラスのオブジェクト初期化メソッド。

ユーザ定義クラスのオブジェクト初期化メソッド。

このメソッドは Class#new から新しく生成されたオブ
ジェクトの初期化のために呼び出されます。他の言語のコンストラクタに相当します。
デフォルトの動作ではなにもしません。

initialize には
Class#new に与えられた引数がそのまま渡されます。

サブクラスではこのメソッドを必要に応じて再定義されること
が期待されています。

initialize という名前のメソッドは自動的に private に設定され
ます。

@param args 初期化時の引数です。
@param block 初期化時のブロック引数です。必...

Object#initialize_copy(obj) -> object (2)

(拡張ライブラリによる) ユーザ定義クラスのオブジェクトコピーの初期化メソッド。

...は self を obj の内容で置き換えます。ただ
し、self のインスタンス変数や特異メソッドは変化しません。
Object
#clone, Object#dupの内部で使われています。

initialize_copy は、Ruby インタプリタが知り得ない情報をコピーするた
めに...
...alize_copy でコピーするよう定義しておくことで、dup や clone
を再定義する必要がなくなります。

デフォルトの Object#initialize_copy は、 freeze チェックおよび型のチェックを行い self
を返すだけのメソッドです。

initialize_copy と...
...Error レシーバが freeze されているか、obj のクラスがレシーバ
のクラスと異なる場合に発生します。
@see Object#clone,Object#dup

以下に例として、dup や clone がこのメソッドをどのように利用しているかを示します。

obj.dup は、...

Object#inspect -> String (2)

オブジェクトを人間が読める形式に変換した文字列を返します。

オブジェクトを人間が読める形式に変換した文字列を返します。

組み込み関数 Kernel.#p は、このメソッドの結果を使用して
オブジェクトを表示します。

puts Class.new.inspect #=> #<Class:0xbafd88>
puts Time.now.inspect #=> 2007-10-15 21:01:37 +0900

@see Kernel.#p

絞り込み条件を変える

Object#instance_eval {|obj| ... } -> object (2)

オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを 評価してその結果を返します。

オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを
評価してその結果を返します。

オブジェクトのコンテキストで評価するとは評価中の self をそのオブジェクトにして実行するということです。
また、文字列 expr やブロック中でメソッドを定義すればそのオブジェクトの特異メソッドが定義されます。

ただし、ローカル変数だけは、文字列 expr の評価では instance_eval の外側のスコープと、ブロックの評価ではそのブロックの外側のスコープと、共有します。

メソッド定義の中で instance_eval でメソッドを定義した場...

Object#instance_eval(expr, filename = "(eval)", lineno = 1) -> object (2)

オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを 評価してその結果を返します。

オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを
評価してその結果を返します。

オブジェクトのコンテキストで評価するとは評価中の self をそのオブジェクトにして実行するということです。
また、文字列 expr やブロック中でメソッドを定義すればそのオブジェクトの特異メソッドが定義されます。

ただし、ローカル変数だけは、文字列 expr の評価では instance_eval の外側のスコープと、ブロックの評価ではそのブロックの外側のスコープと、共有します。

メソッド定義の中で instance_eval でメソッドを定義した場...

Object#instance_exec(*args) {|*vars| ... } -> object (2)

与えられたブロックをレシーバのコンテキストで実行します。

...メータに渡す値です。

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#instance_of?(klass) -> bool (2)

オブジェクトがクラス 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#instance_variable_defined?(var) -> bool (2)

インスタンス変数 var が定義されていたら真を返します。

...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#instance_variable_get,Object#instance_variable_set,Object#instance_variables...

絞り込み条件を変える

Object#instance_variable_get(var) -> object|nil (2)

オブジェクトのインスタンス変数の値を取得して返します。

...@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_variable_set(var, value) -> object (2)

オブジェクトのインスタンス変数 var に値 value を設定します。

...return value を返します。

obj = Object.new
p obj.instance_variable_set("@foo", 1) #=> 1
p obj.instance_variable_set(:@foo, 2) #=> 2
p obj.instance_variable_get(:@foo) #=> 2

@see Object#instance_variable_get,Object#instance_variables,Object#instance_variable_defined?...

Object#instance_variables -> [String] (2)

オブジェクトのインスタンス変数名を文字列の配列として返します。

...トのインスタンス変数名を文字列の配列として返します。

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,...

Object#instance_variables -> [Symbol] (2)

オブジェクトのインスタンス変数名をシンボルの配列として返します。

...のインスタンス変数名をシンボルの配列として返します。

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,Mo...

Object#is_a?(mod) -> bool (2)

オブジェクトが指定されたクラス mod かそのサブクラスのインスタンスであるとき真を返します。

...d
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 (2)

オブジェクトが指定されたクラス mod かそのサブクラスのインスタンスであるとき真を返します。

...d
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#marshal_dump -> object (2)

Marshal.#dump を制御するメソッドです。

...定義されていてもマーシャルできるようになります
(特異メソッドの情報が自動的に dump されるようになるわけではなく、
marshal_dump/marshal_load によりそれを実現する余地があるということです)。

@see Object#marshal_load, Marshal...

Object#marshal_load(obj) -> object (2)

Marshal.#load を制御するメソッドです。

...Ruby 1.8.0 から導入されました。
これから書くプログラムでは _dump/_load ではなく
marshal_dump/marshal_load を使うべきです。

@param obj marshal_dump の返り値のコピーです。

@return 返り値は無視されます。

@see Object#marshal_dump, Marshal...
<< 1 2 3 > >>