クラスメソッドで特定のクラスに対して作成したインスタンスの名前を取得する方法はありますか?インスタンス名を取得
これは私がやろうとしているものです:モジュールの第三に、最後の行に
module MyObjectStore
values = {}
temp= {}
define_method :add_check_attribute do |method,*args|
if method.to_s =~ /=$/
temp[method[0..-2]] = args[0]
else
instance_variable_get("@#{method}")
end
end
define_method :method_missing do |method,*args|
add_check_attribute(method,*args)
end
define_method :save do
temp.each {|key,value| instance_variable_set("@#{key}",value)}
values[self] = temp
end
end
class C
include MyObjectStore
end
a = C.new
a.id = 1
a.name = 'gaurav'
a.save
、私は持つ新しいハッシュにオブジェクトの値を格納しようとしていますインスタンス名をキーとして使用します。
可能なことはありますか?
私は現在self
を使用していますが、インスタンス名ではなくオブジェクト全体を提供しています。
グレートマン、 これは私が探していたものです。ありがとう、トン! –
確かに。お役に立てて嬉しいです。 – Linuxios