るりまサーチ

最速Rubyリファレンスマニュアル検索!
156件ヒット [1-100件を表示] (0.099秒)

別のキーワード

  1. encoding windows_31j
  2. _builtin windows_31j
  3. _builtin cswindows31j
  4. encoding cswindows31j
  5. json j

ライブラリ

検索結果

<< 1 2 > >>

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

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

...

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

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

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

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

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

class Bar < Foo
def initialize name, pass
puts "initialize Bar"
super name
@
pass = pa...
...ss
end
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 (9299.0)

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

...j の内容で置き換えます。ただ
し、self のインスタンス変数や特異メソッドは変化しません。

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

initialize
...
... initialize_copy でコピーするよう定義しておくことで、dup や clone
を再定義する必要がなくなります。

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

initialize
_cop...
...

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

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

obj...

Object#initialize_clone(obj) -> object (9233.0)

Object#clone がオブジェクトを複製する際に呼び出すメソッドです。

...
Object
#clone がオブジェクトを複製する際に呼び出すメソッドです。

デフォルトでは Object#initialize_copy を呼び出します。

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

@
see Object#initialize_copy, Object#initi...

Object#initialize_dup(obj) -> object (9233.0)

Object#dup がオブジェクトを複製する際に呼び出すメソッドです。

...
Object
#dup がオブジェクトを複製する際に呼び出すメソッドです。

デフォルトでは Object#initialize_copy を呼び出します。

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

@
see Object#initialize_copy, Object#initializ...

Object#marshal_dump -> object (3150.0)

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

...load を使うべきです。

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

//emlist[][ruby]{
class Foo
def initialize(arg)
@
foo = arg
end
def marshal_dump
@
foo
end
def marshal_load(obj)
p obj
@
foo = obj
end
end
foo = Foo.new(['fo...
...#=> #<Foo:0xbaf3b0 @foo=["foo", "bar"]>
dms = Marshal.dump(foo)
p dms #=> "\004\bU:\bFoo[\a\"\bfoo\"\bbar"
result = Marshal.load(dms) #=> ["foo", "bar"] # marshal_load の引数
p result #=> #<Foo:0xbaf2ac @foo=["foo", "bar"]>
//}

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

@
see Object#marshal_load, Marshal...

絞り込み条件を変える

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

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

...bol, そして Numeric クラスのインスタンスなど一部のオブジェクトは複製ではなくインスタンス自身を返します。

@
param freeze true を指定すると freeze されたコピーを返します。
false を指定すると freeze されていないコ...
...
@
raise ArgumentError TrueClass などの常に freeze されているオブジェクトの freeze されていないコピーを作成しようとしたときに発生します。

//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)) #=> false
p(obj == obj_c) #=> true
p(obj_c.tainted?) #=> true
p(obj_c.frozen?) #...
...obj) #=> true
p(obj.tainted?) #=> false
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(obj_c.tainted?) #=> false
p(obj_c.frozen?)...
...
@
raise ArgumentError TrueClass などの常に freeze されているオブジェクトの freeze されていないコピーを作成しようとしたときに発生します。

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

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

obj_c = obj.clone

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

obj_d = obj.dup

p(obj.equal?(obj_d)) #=> false
p(obj...

Object#dup -> object (3126.0)

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

...bol, そして Numeric クラスのインスタンスなど一部のオブジェクトは複製ではなくインスタンス自身を返します。

@
param freeze true を指定すると freeze されたコピーを返します。
false を指定すると freeze されていないコ...
...
@
raise ArgumentError TrueClass などの常に freeze されているオブジェクトの freeze されていないコピーを作成しようとしたときに発生します。

//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)) #=> false
p(obj == obj_c) #=> true
p(obj_c.tainted?) #=> true
p(obj_c.frozen?) #...
...obj) #=> true
p(obj.tainted?) #=> false
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(obj_c.tainted?) #=> false
p(obj_c.frozen?)...
...
@
raise ArgumentError TrueClass などの常に freeze されているオブジェクトの freeze されていないコピーを作成しようとしたときに発生します。

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

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

obj_c = obj.clone

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

obj_d = obj.dup

p(obj.equal?(obj_d)) #=> false
p(obj...

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

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

...

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

//emlist[][ruby]{
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#singleton_method(name) -> Method (3056.0)

オブジェクトの特異メソッド name をオブジェクト化した Method オブ ジェクトを返します。

...す。

@
param name メソッド名をSymbol またはStringで指定します。
@
raise NameError 定義されていないメソッド名を引数として与えると発生します。

//emlist[][ruby]{
class Demo
def initialize(n)
@
iv = n
end
def hello()
"Hello, @iv = #{@iv}"
end...
...o.new(99)
def k.hi
"Hi, @iv = #{@iv}"
end
m = k.singleton_method(:hi) # => #<Method: #<Demo:0xf8b0c3c4 @iv=99>.hi>
m.call #=> "Hi, @iv = 99"
m = k.singleton_method(:hello) # => NameError
//}

@
see Module#instance_method, Method, BasicObject#__send__, Object#send, Kernel.#eval, Object#method...
<< 1 2 > >>