小编mik*_*ike的帖子

声明大括号的散列需要赋值吗?

我以为我可以使用{}或Hash []声明哈希,但是花括号似乎不起作用,除非我将它分配给变量(见下文).我猜irb对于它是哈希还是块都感到困惑.这是正确的,还是我用花括号错误地声明哈希?

>> puts h = { :a=>1, :b=>2 }
{:a=>1, :b=>2}

>> puts { :a=>1, :b=>2 }
SyntaxError: (irb):58: syntax error, unexpected =>, expecting '}'
puts { :a=>1, :b=>2 }
           ^
        from /usr/bin/irb:12:in `<main>'

>> puts Hash[ :a=>1, :b=>2 ]
{:a=>1, :b=>2}
>>
Run Code Online (Sandbox Code Playgroud)

ruby hash variable-declaration

1
推荐指数
1
解决办法
457
查看次数

标签 统计

hash ×1

ruby ×1

variable-declaration ×1