新的ruby语法允许:
states = {
Oregon: 'OR',
Florida: 'FL',
California: 'CA',
}
我怎么能添加如下内容:
states = {
New York: 'NY'
}
如果我尝试New\ York:
或'New York':
答案 0 :(得分:9)
您无法使用该语法。这样做:
states = {
:"New York" => "NY"
}
或
states = {
"New York".to_sym => "NY"
}
答案 1 :(得分:3)
答案 2 :(得分:1)
您可以按相反的顺序定义它,然后应用invert
将其翻转回来:
states = {
OR: :"Oregon",
FL: :"Florida",
CA: :"California",
NY: :"New York"
}.invert
这有符号键和值,但您始终可以根据需要将值转换为字符串。
“新样式”哈希声明在您可以定义的键类型中非常有限,除非您使用更正式的样式,如:"New York" => '...'
。