从Ruby中的集合中删除并替换元素

Ruby具有完成特定任务的各种特定方法。如果在Set中存在某些元素,则可能需要在几个地方从set的实例中替换或删除元素。您可以借助Set.delete方法执行删除操作,如果我们谈论元素替换,我们将从Set.replace方法中获取帮助。在本教程中,您将找到代码,通过这些代码可以找到问题的解决方案。

  • 第一个程序将告诉您从Set中替换元素的方法。

  • 第二个程序将告诉您从Set中删除元素的方法。

使用的方法:

  • Set.merge:此方法用于合并两个集合。

  • ===:借助该运算符,我们可以检查集合中元素的存在。

  • Set.replace:借助此方法,我们可以用特定集中的新元素替换一个元素。

  • Set.delete:此方法用于从集合中删除元素。

使用的变量:

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

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

程序1:

=begin
Ruby program to replace an element from 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 "Enter the element you want to replace: "
element = gets.chomp

if Vegetable === element
  puts "Enter the new element"
  newele = gets.chomp
	if Vegetable.replace([element,newele])
  	puts "element Replaced"
  else
    puts "Error"
  end
else
	puts "element not present"
end

输出结果

RUN 1:
Enter the element you want to replace: 
 Mango
Enter the new element
 Jackfruit
element Replaced

RUN 2:
Enter the element you want to replace: 
 beetroot
element not present

说明:

在上面的代码中,您可以看到我们首先合并了两个集合。然后,我们向用户询问他或她要替换的元素。如果元素存在于集合中,则将进行替换。我们使用===运算符来检查Set中元素的存在。如果出现的元素为真,则要求用户提供新元素,并将旧元素替换为新元素。

程式2:

=begin
Ruby program to delete an element from 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 "Enter the element you want to delete: "
element = gets.chomp
if Vegetable === element
	Vegetable.delete(element)
	puts "element deleted"
else
	puts "element not present"
end

输出结果

RUN 1:
Enter the element you want to delete: 
 Apple
element deleted

RUN 2:
Enter the element you want to delete: 
 Jackfruit
element not present

说明:

首先在上面的代码中,我们合并了两个Set。我们正在向用户询问他或她要删除的元素。首先,我们在===运算符的帮助下检查元素是否存在。我们也可以为此使用Set.include?()方法。如果发现存在该元素,则可以在Set.delete方法的帮助下将其删除