एक आवृत्ति चर के नाम को संशोधित करना - रूबी

मान लें कि मेरे पास @chicken है, लेकिन मैं इसका नाम बदलकर @ चिकन 1 करना चाहूंगा, और @ चिकन 2 को एक गिनती लूप। "chicken#{@count}" फिर मैं @ चिकन 1, आदि जैसे आउटपुट को कैसे चालू करूं?

उत्तर:

जवाब के लिए 0 № 1

रूबी की विधि है remove_instance_variable ऐसे कार्य के लिए

class A
def initialize
@chicken = "chichen"
end

def rename
count = 1
instance_variable_set(:"@chicken#{count}", @chicken)
end

def remove
remove_instance_variable(:@chicken)
end
end

a = A.new

a.instance_variables #=> [:@chicken]

a.rename

a.instance_variables #=> [:@chicken, :@chicken1]

a.remove

a.instance_variables #=> [:@chicken1]

a.instance_variable_get("@chicken1") #=> "chicken"

संबंधित सवाल
सबसे लोकप्रिय