使用ruby确定术语数组是否包含一个且仅包含一个重复的术语
在范畴逻辑中,范畴三段论需要四个术语,但只能有三个唯一的术语;这是唯一一个可以而且必须重复的术语 我试图为此编写一个Ruby测试,但遇到了一点麻烦 考虑以下三个术语数组,其中第一个是有效列表,而其他两个无效(termarray2包含4个唯一术语,termarray3仅包含2个唯一术语) 我想写一个名为使用ruby确定术语数组是否包含一个且仅包含一个重复的术语,ruby,Ruby,在范畴逻辑中,范畴三段论需要四个术语,但只能有三个唯一的术语;这是唯一一个可以而且必须重复的术语 我试图为此编写一个Ruby测试,但遇到了一点麻烦 考虑以下三个术语数组,其中第一个是有效列表,而其他两个无效(termarray2包含4个唯一术语,termarray3仅包含2个唯一术语) 我想写一个名为three\u terms? 对于termarray1和termarray2和termarray3 你知道我该怎么做吗?uniq方法返回数组中唯一的元素 这应该起作用: array.uniq.cou
three\u terms?
对于termarray1
和termarray2
和termarray3
你知道我该怎么做吗?uniq方法返回数组中唯一的元素 这应该起作用:
array.uniq.count == 3
但是您提到的测试还检查原始数组是否有四个元素。因此,整个检查应为:
(array.count == 4) && (array.uniq.count == 3)
uniq
方法返回数组中唯一的元素
这应该起作用:
array.uniq.count == 3
但是您提到的测试还检查原始数组是否有四个元素。因此,整个检查应为:
(array.count == 4) && (array.uniq.count == 3)
检查唯一元素的大小是否为
3
(使用):
您还可以使用三个术语来修补阵列:
class Array
def three_terms?
uniq.size == 3
end
end
检查唯一元素的大小是否为3
(使用):
您还可以使用三个术语来修补阵列:
class Array
def three_terms?
uniq.size == 3
end
end