我们知道在Ruby中声明set类实例的方法。大多数时候,我们可能需要找到集合的长度,或者可以说我们可能需要找到特定集合中元素的数量。Ruby的库非常丰富,它为您提供了一种称为Setlength()
的方法。返回Set中存在的元素数的方法。但是,我们也应该知道如何不用方法解决问题吗?我们将集中于两种方法来找到Set的长度。第一个没有使用方法,第二个没有使用方法。
使用的方法:
Set.each:用于遍历集合。它一一处理集合的元素。
Set.length:此方法是Ruby库中的预定义方法,该方法有意定义为查找集合中存在的元素数。此方法的返回类型是一个整数,它等于从中调用该方法的集合的长度。
Set.merge:此方法合并两个集合,并将结果集存储在从中调用它的那个集合中。此方法的返回类型为Set。
使用的变量:
蔬菜:这是Set类的实例。
水果:这是Set类的实例。
计数:它充当计数器变量。它正在计算集合中存在的元素数。
范例1:
=begin Ruby program to find the length of the 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 = count + 1 end puts "The number of elements present in the set are #{count}"
输出结果
The number of elements present in the set are 13
说明:
在上面的代码中,我们试图找到结果集的长度。首先,我们声明了两个集合,然后执行合并过程。我们将结果集的元素传递到Set.each循环中。在Set.each循环内部,我们将count变量加1。count变量用0初始化。最后,我们获取set中存在的元素数。
范例2:
=begin Ruby program to find the length of the 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)puts "The number of elements present in the set are #{Vegetable.length}"
输出结果
The number of elements present in the set are 13
说明:
在上面的代码中,我们声明了Set类的两个实例或对象。我们首先将它们合并,然后将结果存储在蔬菜集中。然后,我们使用Set.length方法(这是Ruby中的预定义方法)来找到结果集的长度。