33件ヒット
[1-33件を表示]
(0.054秒)
別のキーワード
種類
- 文書 (22)
- インスタンスメソッド (11)
ライブラリ
- ビルトイン (11)
クラス
- Object (11)
キーワード
-
ruby 1
. 8 . 3 feature (11) - クラス/メソッドの定義 (11)
検索結果
-
Object
# initialize _ copy(obj) -> object (18267.0) -
(拡張ライブラリによる) ユーザ定義クラスのオブジェクトコピーの初期化メソッド。
...、self のインスタンス変数や特異メソッドは変化しません。
Object#clone, Object#dupの内部で使われています。
initialize_copy は、Ruby インタプリタが知り得ない情報をコピーするた
めに使用(定義)されます。例えば C 言語でクラス......one
を再定義する必要がなくなります。
デフォルトの Object#initialize_copy は、 freeze チェックおよび型のチェックを行い self
を返すだけのメソッドです。
initialize_copy という名前のメソッドは
自動的に private に設定されます。......用しているかを示します。
obj.dup は、新たに生成したオブジェクトに対して
initialize_copy を呼び
//emlist[][ruby]{
obj2 = obj.class.allocate
obj2.initialize_copy(obj)
//}
obj2 に対してさらに obj の汚染状態、インスタンス変数、ファイナライ......用しているかを示します。
obj.dup は、新たに生成したオブジェクトに対して
initialize_copy を呼び
//emlist[][ruby]{
obj2 = obj.class.allocate
obj2.initialize_copy(obj)
//}
obj2 に対してさらに obj のインスタンス変数、ファイナライザを
コピ... -
ruby 1
. 8 . 3 feature (1506.0) -
ruby 1.8.3 feature *((<ruby 1.8 feature>)) *((<ruby 1.8.2 feature>))
...されたクラス/メソッドなど
* [compat]: 変更されたクラス/メソッドなど
* 互換性のある変更
* only backward-compatibility
* 影響の範囲が小さいと思われる変更もこちら
* [change]: 変更されたクラス/メソッドなど(互換......-core:4772>))
=== 2005-05-16
: singleton class [ruby] [change]
特異クラスは複製できなくなりました。((<ruby-talk:142749>))
$ ruby-1.8.3 -e 'class << "str"; self end.dup'
-e:1:in `initialize_copy': can't copy singleton class (TypeError)
from -e:1
=== 2005-05-......ました。- を _ に変換してグローバル変数を定義するようになりました。- 以外の
記号がふくまれる場合は、例外 NameError を投げます。
$ ruby-1.8.2 -se 'puts global_variables.grep(/foo/)' -- --foo-bar
$-foo-bar
$ ruby-1.8.3 -se 'puts gl... -
クラス/メソッドの定義 (102.0)
-
クラス/メソッドの定義 * クラス/メソッドの定義: * class * singleton_class * module * method * operator * nest_method * eval_method * singleton_method * class_method * limit * 定義に関する操作: * alias * undef * defined
...い場合は nil を返します。
===[a:method] メソッド定義
//emlist[例][ruby]{
def fact(n)
if n == 1 then
1
else
n * fact(n-1)
end
end
//}
文法:
def メソッド名 ['(' [arg0 ['=' default0]] ... [',' '*' rest_args [, post ...]] [',' key1: [val1]] ... [',' '*......lic、Module#private、
Module#protected を用いて変更できます。ただし Object#initialize という名前のメソッドと
Object#initialize_copy という名前のメソッド
は定義する場所に関係なく常に private になります。
//emlist[例][ruby]{
def foo......には別名を付けることができません。
また、インタプリタに対して重要な意味のあるグローバル変数
(d:spec/variables#builtin_variable を参照)を再定義すると動作に
支障を来す場合があります。
alias 式は nil を返します。
====[a:u...