Ruby中的默认哈希值(Rubykoans.com – > about_hashes.rb)
我从
RubyKoans开始经历about_hashes.rb.1练习让我感到困惑:
def test_default_value hash1 = Hash.new hash1[:one] = 1 assert_equal 1,hash1[:one] #ok assert_equal nil,hash1[:two] #ok hash2 = Hash.new("dos") hash2[:one] = 1 assert_equal 1,hash2[:one] #ok assert_equal "dos",hash2[:two] #hm? end 我的猜测是Hash.new(“dos”)使“dos”成为所有不存在键的默认答案.我对吗? 解决方法
是的,你是对的,看起来ruby公司有一个错误,hash2 [:two]将返回“dos”
看一下Hash.new方法文档
旁注:在这种情况下,您可以通过运行实际代码或在irb或pry中执行几行来确认您的期望(我建议使用pry). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- C++ 并发编程(七):STL/boost之读写锁(Read-Write Lock)
- Nosql Mongodb之旅(6)—MongoDB高级查询の条件操作符
- c# – 解析LUIS builtin.datetime.date
- 正则表达式的应用js jquery
- ruby-on-rails – 带有颜色输出的工头守卫
- ruby-on-rails – 为什么ActiveRecord不够聪明,不知道父亲的
- Oracle数据库物理存储结构管理
- 在TWaver Flex中实现垂直文字布局
- postgresql – 内连接和外连接;表中的顺序是重要吗?
- ruby-on-rails – 在ActionMailer中使用帮助程序