我需要一个哈希,其中的键由字符数组表示。 但是,当我有这样的数组:散列字符数组作为键
a = %w(a b c), b = %w(d e f), c = %w(g h i)
和我创建一个新的Hash,并尝试给它的价值观,我的结果很奇怪,我希望类似这样:
H = { ["a", "b", "c"] => 1, ["d", "e", "f"] => 2 }
但我得到这样的:
{"[\"a\", \"b\", \"c\"]"=>1}
我创建这个哈希的方法很简单:
H = {}
H["#{array_name}"]
这是正常的行为吗?如果是这样,我怎么能让这些键正常的字符数组?
' “#{}变量”'是字符串插值。所以你将数组转换为字符串表示。并将该字符串设置为键。 – Charlie
库巴,你应该检查Ruby的[命名约定](http://rubylearning.com/satishtalim/ruby_names.html)。变量用小写字母书写。你可以使用'h ='或'my_hash ='而不是'H ='。 –
@CarySwoveland我同意你的意见。 –