Rspec哈希匹配器,不考虑密钥顺序 我已经用这种方法编写了哈希匹配示例

Rspec哈希匹配器,不考虑密钥顺序 我已经用这种方法编写了哈希匹配示例,rspec,Rspec,输出 - { "name" => "pratam", "wisher" => "max mc" } + { "wisher" => "max mc", "name" => "pratam" } 但是上面的代码似乎不起作用。在散列中,与键顺序无关的匹配方法是什么?匹配器应该与键顺序无关: 在你的(干净的)irb里试试这个 哈希没有“专用”匹配器,因为这就是eq的工作原理 也许你有一些“奇怪”的宝石,可以做出

输出

 - {
     "name" => "pratam",
      "wisher" => "max mc"
   }

 + {
      "wisher" => "max mc",
      "name" => "pratam"
   }


但是上面的代码似乎不起作用。在散列中,与键顺序无关的匹配方法是什么?匹配器应该与键顺序无关:

在你的(干净的)irb里试试这个

哈希没有“专用”匹配器,因为这就是
eq
的工作原理


也许你有一些“奇怪”的宝石,可以做出一些意想不到的改变?

事实上,
eq
在引擎盖下使用
==
,而这与顺序无关:
 rspec spec/m1.rb
 - {
     "name" => "pratam",
      "wisher" => "max mc"
   }

 + {
      "wisher" => "max mc",
      "name" => "pratam"
   }

> require 'rspec'
 => true 
> include RSpec::Matchers
 => Object 
> h1 = {"name" => "pratam", "wisher" => "max mc"}
 => {"name"=>"pratam", "wisher"=>"max mc"}
> h2 = {"wisher" => "max mc", "name" => "pratam"}
 => {"wisher"=>"max mc", "name"=>"pratam"}
> expect(h1).to eq(h2)
 => true