ruby - 什么时候可以省略 Ruby 哈希的大括号?

标签 ruby

所以这在 Ruby 中是合法的:

puts key: "value"

{:key=>"value"}

但这不是:

hsh = key: "value"
puts hsh

sandbox.rb:1: syntax error, unexpected ':', expecting end-of-input

hsh = key: "value"

为什么不呢?我什么时候可以省略散列的大括号?

最佳答案

当散列是传递给函数的最后一个参数时,您可以省略大括号。因此,例如,您不需要将它们用于 Rails link_to 帮助程序中的选项,但在您的 hsh = key: "value" 示例中确实需要它们,因为有散列没有函数作为参数。

关于ruby - 什么时候可以省略 Ruby 哈希的大括号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57223388/

相关文章:

ruby - 如何在 ruby​​ 中实现 argmax?

ruby-on-rails - Rails - 在方法内部引用当前模型实例的正确方法?

ruby-on-rails - 找到网络应用客户端的操作系统

ruby - Rspec it{} 评估使用最后一个变量值

ruby-on-rails - rails : ArgumentError in UsersController#create wrong number of arguments (2 for 1)

ruby - 具有两个参数的 block

ruby - 检查 Rakefile 中是否存在 rake 任务

基于预定义列表的 Ruby 排序

c# - 使用 for each 时识别最后一个循环

ruby - 如何全局指定Middleman的partials目录?