加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – ruby??中的“=”和“=>”和“@variable”,

发布时间:2020-12-16 21:35:05 所属栏目:百科 来源:网络整理
导读:我知道这些是rails的基础知识,但我仍然不知道= sign和=之间的完全区别.和@some_variable,@@ some_variable和rails之间的some_variable之间的区别. 谢谢. 解决方法 好. =和=之间的差异运算符是第一个是赋值,第二个表示哈希(关联数组)中的关联.所以{:key = ‘
我知道这些是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,它们在使用上与枚举的关键部分相似.还有一些其他的区别,但是基本上任何时候你会把一个字符串视为任何一种键,你使用一个符号.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读