From 328272c518d1da4e8c584fa45304d0642ea365b8 Mon Sep 17 00:00:00 2001 From: Kouhei Yanagita Date: Wed, 4 Dec 2024 09:37:11 +0900 Subject: [PATCH] =?UTF-8?q?Object#initialize=5Fcopy=E3=81=A8Object#initial?= =?UTF-8?q?ize=5Fdup=E3=81=AE=E8=AA=AC=E6=98=8E=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- refm/api/src/_builtin/Object | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/refm/api/src/_builtin/Object b/refm/api/src/_builtin/Object index 3860ef8d52..254d498499 100644 --- a/refm/api/src/_builtin/Object +++ b/refm/api/src/_builtin/Object @@ -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 言語でクラスを実装する場合、情報 @@ -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 で表されるメソッドに対し