如果使用Ruby 1.9.2,在Ruby中,S =“富”,而s是一个String类对象,但S有没有实例变量?
s = "foo"
s.class # => String
s.instance_variables # => []
所以s
是String
类对象,并且由于它属于一个实现一个字符串,它是连续的字符的概念的类,所以应该有实例变量对于String类对象来存储这些信息,那么如何来instance_variables
返回一个空数组?这是因为(1)它应该返回什么?它不能返回一些实例变量,而这又是一个String对象。 (2)它是“神奇”的时刻,有实例变量,但它是内部的红宝石......它的引擎盖下发生,可以考虑“魔法发生的事情” ......假设我有一个类,包含3种不同的语言短语的翻译,再有就是@french, @spanish, @latin
,而这些发生在“非魔法”的水平,而实例变量将显示instance_variables
。
有没有一种办法,虽然打印出String
类的内部实例变量?