def del_list(list)
list.inject({}) { |hash, (id, alfa)|
hash.merge(id => alfa) { |key, self_val, other_val|
if self_val then
self_val
else
if other_val then
other_val
else
nil
end
end
}
}.to_a
end
LIST = [[1, "a"], [1, nil], [2, "b"], [3, "b"], [4, "b"], [4, nil], [4, nil], [5, nil]]
p del_list(LIST)
ZGVmIGRlbF9saXN0KGxpc3QpCglsaXN0LmluamVjdCh7fSkgeyB8aGFzaCwgKGlkLCBhbGZhKXwKCQloYXNoLm1lcmdlKGlkID0+IGFsZmEpIHsgfGtleSwgc2VsZl92YWwsIG90aGVyX3ZhbHwKCQkJaWYgc2VsZl92YWwgdGhlbgoJCQkJc2VsZl92YWwKCQkJZWxzZQoJCQkJaWYgb3RoZXJfdmFsIHRoZW4KCQkJCQlvdGhlcl92YWwKCQkJCWVsc2UKCQkJCQluaWwKCQkJCWVuZAoJCQllbmQKCQl9Cgl9LnRvX2EKZW5kCgoKTElTVCA9IFtbMSwgImEiXSwgWzEsIG5pbF0sIFsyLCAiYiJdLCBbMywgImIiXSwgWzQsICJiIl0sIFs0LCBuaWxdLCBbNCwgbmlsXSwgWzUsIG5pbF1dCgpwIGRlbF9saXN0KExJU1Qp
[[1, "a"], [2, "b"], [3, "b"], [4, "b"], [5, nil]]