新的 ruby 语法允许:
states = {
Oregon: 'OR',
Florida: 'FL',
California: 'CA',
}
我怎么能添加类似的东西:
states = {
New York: 'NY'
}
如果我尝试New\ York:
或'New York':
新的 ruby 语法允许:
states = {
Oregon: 'OR',
Florida: 'FL',
California: 'CA',
}
我怎么能添加类似的东西:
states = {
New York: 'NY'
}
如果我尝试New\ York:
或'New York':
您不能使用该语法。做这个:
states = {
:"New York" => "NY"
}
或者
states = {
"New York".to_sym => "NY"
}
这不能在新语法中完成。
不幸的是,Ruby 的形式语法在任何地方都没有记录,但是源代码显示解析器需要 a tLABEL
,这意味着新语法中的键必须遵循与 Ruby 标识符相同的规则。
您可以按相反的顺序定义它,然后应用将invert
其翻转回来:
states = {
OR: :"Oregon",
FL: :"Florida",
CA: :"California",
NY: :"New York"
}.invert
这具有符号键和值,但您始终可以根据需要将值转换为字符串。
除非您使用更正式的样式,例如:"New York" => '...'
.