Как сравнить два хэша? - PullRequest
95 голосов
/ 08 февраля 2011

Я пытаюсь сравнить два хэша Ruby, используя следующий код:

#!/usr/bin/env ruby

require "yaml"
require "active_support"

file1 = YAML::load(File.open('./en_20110207.yml'))
file2 = YAML::load(File.open('./locales/en.yml'))

arr = []

file1.select { |k,v|
  file2.select { |k2, v2|
    arr << "#{v2}" if "#{v}" != "#{v2}"
  }
}

puts arr

Вывод на экран - полный файл из файла file2.Я точно знаю, что файлы разные, но сценарий, похоже, не подхватывает их.

Ответы [ 11 ]

0 голосов
/ 08 февраля 2011

Как насчет другого, более простого подхода:

require 'fileutils'
FileUtils.cmp(file1, file2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...