ruby-on-rails – ruby??中的“=”和“=>”和“@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,它们在使用上与枚举的关键部分相似.还有一些其他的区别,但是基本上任何时候你会把一个字符串视为任何一种键,你使用一个符号. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 如何真空sqlite数据库?
- c# – 无法在另一个Datagrid的RowDetailsTemplate内跟踪Dat
- XML Attributes(XML属性)
- jsonp+jquery示例代码,jsonp是什么?看完了还不会我就给你跪
- c – 为什么QList不是从QObject派生的?
- 测试C框架
- 在OSX El Capitan上构建和链接共享Tensorflow库,从Ruby通过
- [cocos2dx笔记016]cocos2dx 3.2 的UserDefault
- objective-c – Xcode’Capture OpenGL ES frame’以“找不
- c – 有没有办法通过使用插件在Firefox中运行ActiveX组件?