我在一个家谱程序中使用以下方法将婚姻/配偶添加到一个人。@marages 是一个数组数组。
def add_spouse(spouse, mariage_date = nil, divorce_date = nil)
@mariages.push([spouse, mariage_date, divorce_date]) unless @mariages.index{|(a, b, c)| a == spouse && b == mariage_date}
spouse.mariages.push(self) unless spouse.mariages.index{|(a, b, c)| a == self && b == mariage_date}
end
使用unless @mariages.index{|(a, b, c)| a == spouse && b == mariage_date}
i 检查数组中的 mariage 是否已准备就绪。
现在我想将我的 mariages 保存在这样的哈希数组中
def add_spouse(spouse, mariage_date = nil, divorce_date = nil)
@mariages.push({:spouse => spouse, :mariage_date => mariage_date, :divorce_date => divorce_date}) unless ...
spouse.mariages.push({:spouse => self, :mariage_date => mariage_date, :divorce_date => divorce_date}) unless ...
end
有人可以帮助我调整除非部分来检查哈希是否尚未在数组中存在吗?