Ruby中的"等于大于"operator =>是什么?

MM.*_*MM. 17 ruby ruby-on-rails

在Ruby on Rails教程中,我被要求输入:

class Post < ActiveRecord::Base
    validates :name,  :presence => true  
    validates :title, :presence => true, :length => { :minimum => 5 }
end
Run Code Online (Sandbox Code Playgroud)

我理解这是做什么的,但我想知道=>运算符是什么.在PHP-land中,它链接键和关联数组中的值.这是一回事吗?它是Ruby运算符还是Rails运算符?

Spy*_*ros 25

它主要是一个ruby运算符,用于设置哈希中键的值.因此:

{ :minimum => 5 }
Run Code Online (Sandbox Code Playgroud)

是具有符号的ruby散列:minimum作为映射到值5的键.在此示例中,具有一个条目的散列.同样的:

:presence => true
Run Code Online (Sandbox Code Playgroud)

哈希.但是,在ruby中,当你有一个方法时,你可以省略哈希周围的{}.这就是验证方法所发生的情况.这是一个方法,因此传递的哈希不明确需要{}.

  • 是的,您也可以将它与{}一起使用,虽然人们倾向于省略它:)(我也省略了它) (2认同)