我的程序可以很好地处理这个哈希
hash =
{
'keyone'=> 'valueone',
'keytwo'=> 'valuetwo',
'keythree'=> 'valuethree'
}
但有人指出这个符号很旧,现在我应该使用:
hash =
{
'keyone': 'valueone',
'keytwo': 'valuetwo',
'keythree': 'valuethree'
}
我收到此错误:
no implicit conversion of nil into String (TypeError)
我只更改了哈希符号。有人可以解释发生了什么吗?
在后者中,您的键被保存为符号。因此,您应该将它们称为:
hash[:keyone]
如果符号很好,那就更好了
hash = {
keyone: 'valueone',
keytwo: 'valuetwo',
keythree: 'valuethree'
}
但是,如果您需要字符串键,则必须坚持使用“旧”语法
hash = {
'keyone' => 'valueone',
'keytwo' => 'valuetwo',
'keythree' => 'valuethree'
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句