【发布时间】:2015-02-16 15:17:29
【问题描述】:
所以写哈希很简单,有点像这样......
hash = { 'x'=>1, 'y'=>2, 'z'=>3 }
但是还有另一种方法可以做到这一点......
hash_new[:x,1,:y,2,:z,3]
所以我的问题是如何识别“:x,:y,:z”元素?它们是字符串吗?在什么情况下首选第二种方法?
【问题讨论】:
所以写哈希很简单,有点像这样......
hash = { 'x'=>1, 'y'=>2, 'z'=>3 }
但是还有另一种方法可以做到这一点......
hash_new[:x,1,:y,2,:z,3]
所以我的问题是如何识别“:x,:y,:z”元素?它们是字符串吗?在什么情况下首选第二种方法?
【问题讨论】:
您的第二个示例实际上不起作用。正确的语法是:
Hash[:x,1,:y,2,:z,3]
这两个例子实际上也不同。第一个以 strings 作为键;第二个使用符号。
有关符号是什么的详细信息,请参阅“Ruby Symbols”、“The Ruby_Newbie Guide to Symbols”、“The Difference Between Ruby Symbols and Strings”或Ruby's documentation on the Symbol class。 (要了解更多信息,只需在 Google 上搜索“红宝石符号”)
【讨论】: