ruby – 创建哈希的快捷方式
发布时间:2020-12-16 22:45:22 所属栏目:百科 来源:网络整理
导读:我是 Ruby的新手.我正在阅读关于 Rubymonk的教程,我正在学习如何创建哈希.你能告诉我为什么我不能在没有key_value_pairs变量的情况下创建哈希.我的代码抗性大脑似乎合乎逻辑,代码应该在没有它的情况下工作,但事实并非如此. 这不起作用 def artax a = [:punch
我是
Ruby的新手.我正在阅读关于
Rubymonk的教程,我正在学习如何创建哈希.你能告诉我为什么我不能在没有key_value_pairs变量的情况下创建哈希.我的代码抗性大脑似乎合乎逻辑,代码应该在没有它的情况下工作,但事实并非如此.
这不起作用 def artax a = [:punch,0] b = [:kick,72] c = [:stops_bullets_with_hands,false] Hash[a,b,c] end p artax 这有效. def artax a = [:punch,false] key_value_pairs = [a,c] Hash[key_value_pairs] end p artax 解决方法
请查看
Hash::[] 的文档,有三种方法可以调用它:
>使用交替键和值列表,如Hash [key1,value1,key2,value2,key3,value3] 在第一种形式中,必须存在偶数个参数,在第二种和第三种形式中,必须有一个参数. 在你的第一个例子中,你用三个参数调用它,它既不是偶数也不是1,因此它不属于上述三种形式中的任何一种.如果你不小心使用了四个数组(或两个数组),即一个偶数,如果它会落在第一个形式下,但它不会完成你所期望的那样: def artax a = [:punch,72] Hash[a,b] end p artax # { [:punch,0] => [:kick,72] } 在第二个示例中,您使用单个数组调用它,该数组属于第二个形式. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容