るりまサーチ

最速Rubyリファレンスマニュアル検索!
120件ヒット [1-100件を表示] (0.068秒)
トップページ > クエリ:ruby[x] > クエリ:p[x] > クラス:Object[x] > クエリ:initialize[x]

別のキーワード

  1. rbconfig ruby
  2. fiddle ruby_free
  3. fiddle build_ruby_platform
  4. rake ruby
  5. rubygems/defaults ruby_engine

ライブラリ

キーワード

検索結果

<< 1 2 > >>

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

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

...

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

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

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

@p...
...
@param block 初期化時のブロック引数です。必須ではありません。

//emlist[][ruby]{
class Foo
def initialize name
p
uts "initialize Foo"
@name = name
end
end

class Bar < Foo
def initialize name, pass
p
uts "initialize Bar"
super name
@pass = pass
e...
...nd
end

it = Bar.new('myname','0500')
p
it
#=> initialize Bar
# initialize Foo
# #<Bar:0x2b68f08 @name="myname", @pass="0500">
//}

@see Class#new...

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

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

...特異メソッドは変化しません。

デフォルトでは、Object#clone の内部で Object#initialize_clone から、
また Object#dup の内部で Object#initialize_dup から呼ばれます。

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

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

initialize
_cop...
...のメソッドは
自動的に private に設定されます。

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

以下に例として、dup や clone がこのメソッ...

Object#marshal_dump -> object (6143.0)

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

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

Marshal.dump(some) において、出力するオブジェクト some がメソッド marshal_dump
持つ場合には、その返り値がダンプされたものが Marshal.dump(some) の返り値となります。

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

@return 任意のオブジェクトで marshal_load の引数に利用できます。

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

@see Object#marshal_load, Marshal...

Object#_dump(limit) -> String (6137.0)

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

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

バージョン1.8.0以降ではObject#marshal_dump, Object#marshal_loadの使用
が推奨されます。 Marshal.dump するオ...
...あります。

@param limit 再帰の制限レベルを表す整数です。
@return オブジェクトを文字列化したものを返すように定義すべきです。

//emlist[][ruby]{
class Foo
def initialize(arg)
@foo = arg
end
def _dump(limit)
Marshal.dump(@foo, limit)
en...
...d
def self._load(obj)
p
obj
Foo.new(Marshal.load(obj))
end
end
foo = Foo.new(['foo', 'bar'])
p
foo #=> #<Foo:0xbaf234 @foo=["foo", "bar"]>
dms = Marshal.dump(foo)
p
dms #=> "\004\bu:\bFoo\023\004\b[\a\"\bfoo\"\bbar"
result = Marshal.load(dms) #=>...

Object#inspect -> String (6131.0)

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

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

//emlist[][ruby]{
[ 1, 2, 3..4, 'five' ].inspect # => "[1, 2, 3..4, \"five\"]"
Time.new.inspect # => "2008-03-08 19:43:39 +0900"
//}

inspect メソッドをオーバ...
...変数の名前、値の組を元にした文字列を返します。

//emlist[][ruby]{
class Foo
end
Foo.new.inspect # => "#<Foo:0x0300c868>"

class Bar
def initialize
@bar = 1
end
end
Bar.new.inspect # => "#<Bar:0x0300c868 @bar=1>"
//}

@see Kernel.#p...

絞り込み条件を変える

Object#dup -> object (3239.0)

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

...ェクトの複製を作成して返します。

dup はオブジェクトの内容, taint 情報をコピーし、
clone はそれに加えて freeze, 特異メソッドなどの情報も含めた完全な複製を作成します。

clone や dup は浅い(shallow)コピーであることに注...
...

//emlist[][ruby]{
obj = "string"
obj.taint
def obj.fuga
end
obj.freeze

p
(obj.equal?(obj)) #=> true
p
(obj == obj) #=> true
p
(obj.tainted?) #=> true
p
(obj.frozen?) #=> true
p
(obj.respond_to?(:fuga)) #=> true

obj_c = obj.clone

p
(obj.equal?(obj_c...
...ue
p
(obj_c.frozen?) #=> true
p
(obj_c.respond_to?(:fuga)) #=> true

obj_d = obj.dup

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

@see Object#...
...

//emlist[][ruby]{
obj = "string"
obj.taint
def obj.fuga
end
obj.freeze

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

obj_c = obj.clone

p
(obj.equal?(obj_...
...e
p
(obj_c.frozen?) #=> true
p
(obj_c.respond_to?(:fuga)) #=> true

obj_d = obj.dup

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

@see Object#...
...ブジェクトの複製を作成して返します。

dup はオブジェクトの内容をコピーし、
clone はそれに加えて freeze, 特異メソッドなどの情報も含めた完全な複製を作成します。

clone や dup は浅い(shallow)コピーであることに注意して...
...[][ruby]{
obj = "string"
def obj.fuga
end
obj.freeze

p
(obj.equal?(obj)) #=> true
p
(obj == obj) #=> true
p
(obj.frozen?) #=> true
p
(obj.respond_to?(:fuga)) #=> true

obj_c = obj.clone

p
(obj.equal?(obj_c)) #=> false
p
(obj == obj_c) #=> true
p
(o...
...true
p
(obj_c.respond_to?(:fuga)) #=> true

obj_d = obj.dup

p
(obj.equal?(obj_d)) #=> false
p
(obj == obj_d) #=> true
p
(obj_d.frozen?) #=> false
p
(obj_d.respond_to?(:fuga)) #=> false
//}

@see Object#initialize_copy

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

clone や dup...

Object#clone(freeze: nil) -> object (139.0)

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

...ェクトの複製を作成して返します。

dup はオブジェクトの内容, taint 情報をコピーし、
clone はそれに加えて freeze, 特異メソッドなどの情報も含めた完全な複製を作成します。

clone や dup は浅い(shallow)コピーであることに注...
...

//emlist[][ruby]{
obj = "string"
obj.taint
def obj.fuga
end
obj.freeze

p
(obj.equal?(obj)) #=> true
p
(obj == obj) #=> true
p
(obj.tainted?) #=> true
p
(obj.frozen?) #=> true
p
(obj.respond_to?(:fuga)) #=> true

obj_c = obj.clone

p
(obj.equal?(obj_c...
...ue
p
(obj_c.frozen?) #=> true
p
(obj_c.respond_to?(:fuga)) #=> true

obj_d = obj.dup

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

@see Object#...
...

//emlist[][ruby]{
obj = "string"
obj.taint
def obj.fuga
end
obj.freeze

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

obj_c = obj.clone

p
(obj.equal?(obj_...
...e
p
(obj_c.frozen?) #=> true
p
(obj_c.respond_to?(:fuga)) #=> true

obj_d = obj.dup

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

@see Object#...
...ブジェクトの複製を作成して返します。

dup はオブジェクトの内容をコピーし、
clone はそれに加えて freeze, 特異メソッドなどの情報も含めた完全な複製を作成します。

clone や dup は浅い(shallow)コピーであることに注意して...
...[][ruby]{
obj = "string"
def obj.fuga
end
obj.freeze

p
(obj.equal?(obj)) #=> true
p
(obj == obj) #=> true
p
(obj.frozen?) #=> true
p
(obj.respond_to?(:fuga)) #=> true

obj_c = obj.clone

p
(obj.equal?(obj_c)) #=> false
p
(obj == obj_c) #=> true
p
(o...
...true
p
(obj_c.respond_to?(:fuga)) #=> true

obj_d = obj.dup

p
(obj.equal?(obj_d)) #=> false
p
(obj == obj_d) #=> true
p
(obj_d.frozen?) #=> false
p
(obj_d.respond_to?(:fuga)) #=> false
//}

@see Object#initialize_copy

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

clone や dup...

Object#instance_variable_defined?(var) -> bool (55.0)

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

...@param var インスタンス変数名を文字列か Symbol で指定します。

//emlist[][ruby]{
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#instance_variable_get,Object#instance_variable_set,Object#instance_variables...

Object.yaml_tag(tag) -> () (37.0)

クラスと tag の間を関連付けます。

... Ruby のオブジェクトに
変換したりその逆をしたりすることができます。

@param tag 対象のクラスに関連付けるタグの文字列

=== Example
require 'psych'

class Foo
def initialize(x)
@x = x
end

attr_reader :x
end

# Dumps Ruby...
...object normally
p
Psych.dump(Foo.new(3))
# =>
# --- !ruby/object:Foo
# x: 3

# Registers tag with class Foo
Foo.yaml_as("tag:example.com,2013:foo")
# ... and dumps the object of Foo class
P
sych.dump(Foo.new(3), STDOUT)
# =>
# --- !<tag:example.com,2013:foo>
# x: 3

#...
...Loads the object from the tagged YAML node
p
Psych.load(<<EOS)
--- !<tag:example.com,2012:foo>
x: 8
EOS
# => #<Foo:0x0000000130f48 @x=8>...
<< 1 2 > >>