Ruby 枚举函数 one?
enumerable 的 one?() 是Ruby中的一个内置方法,如果enumerable中正好有一个对象满足给定的条件,则返回一个布尔值true,否则返回false。如果给定了一个模式,如果有任何一个对象与模式完全匹配,它将返回true。
语法 enu.one?{ |obj| block } 或 enu.one?(pattern)
参数 :该函数需要两种参数,一种是对象和块,而另一种是模式。
返回值 : 它返回一个布尔值。
例子 #1 :
# Ruby program for one? method in Enumerable
# Initialize an enumerable
enu1 = [10, 19, 18]
# checks if all numbers are greater
# than 4 or not
res1 = enu1.one? { |num| num>4}
# prints the result
puts res1
# checks if all numbers are greater
# than 4 or not
res2 = enu1.one? { |num| num>=19}
# prints the result
puts res2
输出:
false
true
例子 #2 :
# Ruby program for one? method in Enumerable
# Initialize an enumerable
enu1 = [10, 19, 20]
# Checks
res1 = enu1.one?(Numeric)
# prints the result
puts res1
# Initialize
enu2 = [nil, 1]
# Checks
res2 = enu2.one?
# prints the result
puts res2
输出:
false
true