可以使用哈希火箭语法定义哈希(键为class String),如下所示:
h = {:name => 'Charles', "name" => 'John'}
有没有办法用另一种符号来定义它?
我试过:
a = {name: "Charles", "name": "John"}
(irb):14: warning: key :name is duplicated and overwritten on line 14
a
# => {:name=>"John"}
还要注意的是,在没有任何重写的情况下,我仍然无法找到一种将键设置为类字符串的方法:
b = {"name": "John"}
b
# => {:name=>"John"} # "name" (String) is stored as :name (Symbol)
顺便说一句,使用更现代的散列符号(不使用散列火箭的符号)不可能用任何字符串键定义散列。有没有办法,或者应该
=>
使用类字符串键定义哈希时是否使用了火箭?