Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Object#initialize_copyObject#initialize_dupの説明を追加 #2924

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading