ruby-on-rails – ruby​​中的“=”和“=>”和“@variable”,“@@ variable”和“:variable”有什么区别?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – ruby​​中的“=”和“=>”和“@variable”,“@@ variable”和“:variable”有什么区别?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我知道这些是rails的基础知识,但我仍然不知道= sign和=之间的完全区别.和@some_variable,@@ some_variable和rails之间的some_variable之间的区别.

谢谢.

解决方法

好.

=和=>之间的差异运算符是第一个是赋值,第二个表示哈希(关联数组)中的关联.所以{:key => ‘val’}表示“创建一个关联数组,其中:key为关键字,’val’为值”.如果你想听起来像一个Rubyist,我们称之为“哈希”. (不管不相信,这不是Ruby中最奇怪的操作符;我们也有< =>或“太空船运算符”).

您可能会感到困惑,因为有一些快捷方式可以在方法中使用,如果最后一个参数是哈希值,则可以省略方括号({}).所以调用render:partial => ‘foo’基本上是调用render方法,使用单个键/值对传递散列.因此,您经常会看到一个哈希作为最后一个参数排序,有一个可怜的人的可选参数(你也看到类似的JavaScript也完成了).

在Ruby中,任何正常的单词都是局部变量.所以foo里面的一个方法是一个变量范围的方法级别.使用@来定义变量意味着将该变量范围作为实例.所以@foo在一个方法中是一个实例级别.

@@表示一个类变量,这意味着@@变量在类的范围内,以及所有实例.

:表示符号. Ruby中的一个符号是一种特殊的字符串,意味着它将被用作键.如果您来自C#/ Java,它们在使用上与枚举的关键部分相似.还有一些其他的区别,但是基本上任何时候你会把一个字符串视为任何一种键,你使用一个符号.

猜你在找的Ruby相关文章