我有一类有三个属性的人
班人 attr_accessor:first_name,:last_name,:age结束我有两个数组:
a = [p1,p2]b = [p3,p4]有没有简单的方法来结合这些……
我不确定我明白你的观点,但也许这是一个可能的选择。
c = a + b c.uniq! { |e| e.first_name && e.last_name }
呼叫 阵列#uniq的! 有一个块 c 哪一个是 级联 的 a 和 b 。
c
a
b
如果数组a和b本身不包含具有匹配的名字和姓氏的人,那么这将起作用:
b.each_with_index do |p, i| if !(b[i].first_name == a[i].first_name and b[i].last_name == a[i].last_name) a.push(p) # as people p does not contain the same first/last names as a it can now be added to a end end
要检查其他字段,只需将first_name / last_name替换为其他变量。