在Ruby中检查集合是否为空

对于每个问题,我们都可以在识别出不同的替代方案后将其识别出来。对于这个问题,我们也有不同的方法来检查Set是否为空。Ruby为我们提供了多种方法,通过它们可以执行多个任务。有些可以直接用于解决目的,有些也可以间接使用。这取决于我们如何有效利用已有的方法以及代码的编写效率。

使用的方法:

  • 组。merge():此方法用于合并两个集合。

  • Set.empty?():此方法用于检查集合是否为空。此方法的返回类型为Boolean。

  • 组。size():此方法返回集合的大小。

  • Set.each:此方法用于遍历集合中的元素。

使用的变量:

  • 蔬菜:这是Set类的实例。

  • 水果:这是Set类的实例。

  • count:这是一个计数器变量,用于计算集合中存在的元素数。

程序1:

=begin
Ruby program to find the empty set 
with Set.empty?() method.
=end

require 'set'

Vegetable = Set.new(["potato","brocolli","broccoflower","lentils","peas","fennel","chilli","cabbage"])
Fruits = Set.new(["Apple","Mango","Banana","Orange","Grapes"])

Vegetable.merge(Fruits)if Vegetable.empty?()
	puts "Set is empty"
else
	puts "Set is not empty"
end

输出结果

Set is not empty

说明:

在上面的代码中,我们使用了Ruby库中预定义的Set.empty?()方法。这使任务非常容易,因为我们只需要写一行就可以完成任务。输出表明该集合不为空,因为该集合具有在定义它时以及与另一个集合合并后添加的元素。

程式2:

=begin
Ruby program to find the empty set.
=end

require 'set'

Vegetable = Set.new([ "potato", "brocolli" , "broccoflower" , "lentils" , "peas" , "fennel" , "chilli" , "cabbage" ])
Fruits = Set.new(["Apple","Mango","Banana","Orange","Grapes"])

Vegetable.merge(Fruits)count = 0
Vegetable.each do |element|
    count +=1
end

if count == 0
	puts "Set is empty"
else
	puts "Set is not empty"
end

输出结果

Set is not empty

说明:

在上面的代码中,我们使用Set.each检查set是否为空。我们正在使用一个计数器变量,该变量在循环内部递增。如果成功终止循环后,计数器变量仍为0,则表示该集合不包含任何元素。我们将发现该集合不是空的,因为在定义时已向其中添加了元素。

程式3:

=begin
Ruby program to find the empty set.
=end

require 'set'

Vegetable = Set.new([ "potato" ,  "brocolli" , "broccoflower" , "lentils" , "peas" , "fennel" , "chilli" , "cabbage" ])
Fruits = Set.new(["Apple","Mango","Banana","Orange","Grapes"])

Vegetable.merge(Fruits)if Vegetable.size() == 0
	puts "Set is empty"
else
	puts "Set is not empty"
end

输出结果

Set is not empty

说明:

在上面的代码中,我们正在使用Set。size()方法检查设置是否为空。很明显,如果set的大小为0,则为空,否则为空。