Skip to content

Commit

Permalink
Object#initialize_copyとObject#initialize_dupの説明を追加
Browse files Browse the repository at this point in the history
  • Loading branch information
kyanagi committed Dec 4, 2024
1 parent 4943992 commit 328272c
Showing 1 changed file with 25 additions and 1 deletion.
26 changes: 25 additions & 1 deletion refm/api/src/_builtin/Object
Original file line number Diff line number Diff line change
Expand Up @@ -1799,7 +1799,9 @@ p it

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

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

initialize_copy は、Ruby インタプリタが知り得ない情報をコピーするた
めに使用(定義)されます。例えば C 言語でクラスを実装する場合、情報
Expand Down Expand Up @@ -1882,6 +1884,28 @@ check obj.clone
# singleton methods: :bar
#@end

@see [[m:Object#initialize_clone]], [[m:Object#initialize_dup]]

--- initialize_clone(obj) -> object

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

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

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

@see [[m:Object#initialize_copy]], [[m:Object#initialize_dup]]

--- initialize_dup(obj) -> object

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

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

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

@see [[m:Object#initialize_copy]], [[m:Object#initialize_clone]]

--- respond_to_missing?(symbol, include_private) -> bool

自身が symbol で表されるメソッドに対し
Expand Down

0 comments on commit 328272c

Please sign in to comment.