Rubyにおける配列の変化を求めるには、差分を出すと便利なんだけど……ちょっと面白いところがあるのよね。
ちょっと紹介してみるわね。
たとえば、以下のコードはどうなると思う?
a = [1,2,3,4,5,6] b = [6,5,5,3,2,1,4] p a - b
この結果は、実は以下になるの。
[]
なんと差分なし。
「なんだよそれ」って思う?じゃあ、以下をやったらどうなるかしら?
a = [1,2,3,4,5,6] b = [6,5,4,3,2,1] p a - b
実はこれも差分なしになるんだけど……こう書くとわかりやすくない?
すなわち Rubyにおける配列の差分は、要素があっていれば順序は気にしない ってこと。
だから上のコードをいじって、こうやると?
a = [1,2,3,4,5,6] b = [6,5,5,3,2,1] p a - b
これの答えは「 4 」よ。
バラバラの配列の比較って、よくあるわよね。興味深い事だと思うわ。