对于每个问题,我们都可以在识别出不同的替代方案后将其识别出来。对于这个问题,我们也有不同的方法来检查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,则为空,否则为空。