Аналогично этому вопросу Как создать разность хэшей с поправочным коэффициентом?
Я хочу сравнить хэши внутри массива, но они могут быть динамическими.
h_array = [
{:roll => "1", :name => "saroj", :class => "mscit"},
{:name => "saroj", :class => "Mscit", :roll => "12", :attendance => "P"},
{:class => "Mscit", :roll => "12", :name => "saroj", :attendance => "F", :remarks => "something"}
]
get_diff(h_array, correct_factor = 2)
# should return
# matched :: {:class=>"Mscit", :roll=>"12", :name=>"saroj"},
# unmatched :: {:attendance=>"F", :remarks=>"something"}
get_diff(h_array, correct_factor = 3)
# should return
# matched :: {:name=>"saroj"},
# unmatched :: {:class=>"Mscit", :roll=>"12", :attendance=>"F", :remarks=>"something"}
правильный_фактор - это число, которое определяет, сколько ключей / значений должно совпадать, чтобы считать, что оно соответствует. То, что я хочу, - это функция сравнения, которая возвращает как совпадающую, так и несогласованную пару.