什么意思:[]

hon*_*rst 5 ruby ruby-on-rails-3

我是 ruby​​ on rails 的新手,有一个类似的代码:

person_map.try(:[], :name)
Run Code Online (Sandbox Code Playgroud)

这里的 :[] 是什么意思?

Tam*_*ash 5

:[]是一个符号。在代码行的上下文中,它表示应该try编辑的方法的名称。

您应该检查 的文档try以更好地理解该行代码。它基本上等于personMap[:name]同时确保如果personMap没有[]方法(例如 ifpersonMap为 nil)则不会引发异常。