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等