Ruby on Rails:=>符号是什么意思?

我正在通过Head First Rails工作,我一直看着=> 。 它在路线中:

map.connect '/marmots/new', controller=>'marmots', :action=>'new'

这是在渲染部分:

render :partial=>"new_marmot"

它是链接的选项:

'Are you sure?', :method=>:delete %>

基本上, =>似乎意味着’等于’,但如果是这样,为什么不使用等号呢? 它更像是“发送给谁?”

你怎么发音=>你明白这是什么意思? 我可以在不知情的情况下过去,但它让我烦恼。

您的第一个函数调用是一个快捷方式

 map.connect('/marmots/new', {:controller=>'marmots', :action=>'new'}) 

其中{}是Hash-literal。 对象映射的方法connect的第二个参数是Hash类的对象,它有两个键:controller和:action(都是Symbol类的文字),其对应的值是两个字符串’marmots’和’new’。

编辑:我称之为“箭头”或“映射到”。

我听说它通常被称为“哈希火箭”。 它是与ruby中的哈希一起使用的赋值运算符。 因此,如果您有一个哈希并想要为键(通常是文字)分配值,请使用

 {key1 => value1, key2 => value2} 

Rails和其他Ruby代码经常将哈希作为参数传递给方法,以实现与其他语言(如Python)中的命名参数相同的效果。

 object.method({:param1 => value1, :param2 => value2}) 

编辑:阅读时,我使用“获取”作为动词,例如。 param1获取value1等