2011-01-06 60 views
0

我有一个基本问题,我还无法从ruby中理解。如果在积极的记录中,我有“@food”,它与“食物”有什么不同。我recogn它是一个数组,但AREN“t为活动记录可以是假设为(数组?)活动记录中@之间的基本问题区别

感谢您的共享

+1

我推荐你在阅读Rails之前阅读一下Ruby本身。你似乎对基本概念所属的地方感到困惑。 – edgerunner 2011-01-06 12:57:33

回答

5

这已无关的ActiveRecord这只是普通的Ruby语法。

@foo表示实例变量,它的作用范围是instanc而且对于班级的每一个实例都是不同的。只要类实例保留,内容就会保留。

foo可能表示一个局部变量,它只在当前块范围内有效。只要块退出,它就会超出范围,并且内容将被丢弃,除非在别处引用。

@符号与数组或任何其他数据类型无关。在Ruby中,变量没有数据类型。 @bar将随时接受字符串,整数或数组而无需投诉。 bar也是如此。