私はすべての整数値(オブジェクト)に特異メソッドを定義したい
これは矛盾しています。シングルトンクラスは、単一のオブジェクトに何かを適用する場合に使用します。 のオブジェクトをすべて整数オブジェクトとして定義したいので、シングルトンクラスは適切なツールではありません。ちょうどあなたが3のシングルトンクラスを変更することができれば、その数だけ3と無他の番号に適用されるいくつかの行動があるだろう
class Integer
def foobar
"hey"
end
end
3.foobar
# "hey"
通常のクラスを使用します。それを防ぐ技術的な理由はありませんが、あなたができないことは良いことだと私を信じています。
が効果的にこれは何か他のものについて話している任意の整数値
1件のだけFixnumかのオブジェクトのインスタンスがあります。差異に注意してください。
x = []
y = []
x == y # true
x.object_id == y.object_id # false!
x = 3
y = 3
x == y # true
x.object_id == y.object_id # true!
x.object_id == 5.object_id # false
他のほとんどのオブジェクトとは異なり、同等のフィックスナムは同じオブジェクトです。 3と5はFixnumの2つの異なるインスタンスですが、Fixnumの2つの異なるインスタンスが両方とも3であることは不可能です。それぞれの3つは同じです。これは技術的な必要性ではなく、ほとんどのプログラマーが数値データをどのように考えるかの利便性を高めるものです。
出典
2017-10-31 17:14:51
Max
コードコード、コードを参照してください。 –
どのようなエラーが表示されますか? –