Mel*_*emi 21 ruby string symbols ruby-on-rails instance-variables
新到Rails并试图围绕让我的头的时候/为什么要使用:symbols
,@ivars
,"strings"
的框架内.
我想我从概念上理解它们之间的差异
:symbol
每个项目只有一个实例@ivar
每个实例一个"strings"
- 因为它们是在引用时创建的(?)随意纠正我!
主要的困惑来自于理解Rails期望的规则和惯例 - 在哪里以及为什么?
我确定有一个"啊哈!" 那一刻即将到来,但我还没有...因为它对我来说似乎很随意(来自C/Obj-C).
-谢谢
Pra*_*ran 15
这@instance_variable
是一个实例变量.它通常在控制器中定义,并在视图中可访问.
这"string"
是一个字符串,就像任何其他语言一样.
的:symbol
,是因为你所提到的这名代表和字符串的有效方式; 它们是文字价值.它被初始化并且在ruby会话期间仅存在一次.它不是字符串,因为您无法访问String方法; 这是一个符号.最重要的是,它是不可改变的.由于这些原因,在哈希中表示键变得非常方便.Rails方法使用哈希,因此,您在Rails中找到符号.
实例变量非常简单:它们跟踪特定实例的属性/值,因此当值因实例而异时可以使用它们。
符号与字符串相比更加随意一些。符号通常用于常量值,与 C 等语言使用枚举的方式非常相似;Ruby 没有枚举,因此通常使用符号来填补这一空白。字符串用于更多样化的文本片段,这些文本片段不会用作标志或类似的常量。
归档时间: |
|
查看次数: |
17570 次 |
最近记录: |