在Ruby中使用ary [index]-> object进行数组元素分配
在上一篇文章中,我们学习了如何将对象作为元素添加到Array类的对象中,并在>>运算符的帮助下做到了这一点?这也是将元素分配给Array实例的方法之一,因为在>>运算符或方法的帮助下,我们将元素或对象推入或添加到Array实例的最后一个索引中。在本文中,我们将介绍另一种方法,可以将元素分配给Array实例的各个索引。在本文的结尾,您将非常清楚地了解该方法。
让我们借助示例来了解该方法的语法和实现。
用ary[index]分配元素
通过这种分配方式,您将必须提供Array实例的特定索引,您要在其中放置特定类的元素或对象。如果您将提供一个负索引,那么它将从头开始计数。感到困惑?让我在理论示例的帮助下解释这种情况,如果您提供-1作为索引,那么它将把对象分配给Array实例从最后一个开始的第一个索引,如果您传递-2作为索引,那么它将将对象分配给Array对象的倒数第二个索引。现在,让我们借助下面提供的语法和示例来了解场景或方法,
语法:
array_instance[index] = object
范例1:
=begin Ruby program to demonstrate array_instance[index] = object =end #数组声明 array_instance = ["a","c","c","v","samir","Hrithik"] #输入索引和元素 puts "Enter the index you want to put element in:" ind = gets.chomp.to_i if(ind<array_instance.count) puts "Enter the element:" array_instance[ind] = gets.chomp else puts "Index out of bound" end #打印数组 puts "The final array is:" print array_instance
输出结果
Enter the index you want to put element in: 2 Enter the element: Prem The final array is: ["a", "c", "Prem", "v", "samir", "Hrithik"]
说明:
在上面的代码中,您可以观察到我们正在询问用户要在其中放置元素或对象的索引。首先,我们检查索引是否大于或等于Array的长度是否可行,然后通知用户。如果不是这种情况,那么我们会将元素放入该特定索引中。从上面的示例中,您可以观察到该特定索引中已经存在一个对象,但是借助于此方法,我们已经覆盖了该对象。因此,我们可以得出结论,该方法也可以用于覆盖对象。
范例2:
=begin Ruby program to demonstrate array_instance[index] = object =end #数组声明 array_instance = ["a","c","c","v","samir","Hrithik"] #输入索引和元素 puts "Enter the negative index you want to put element in:" ind = gets.chomp.to_i puts "Enter the element:" array_instance[ind] = gets.chomp #打印数组 puts "The final array is:" print array_instance
输出结果
Enter the negative index you want to put element in: -2 Enter the element: Prem The final array is: ["a", "c", "c", "v", "Prem", "Hrithik"]
说明:
在上面的代码中,您可以观察到我们正在从用户那里获取负索引的输入。您可以看到,当用户输入-2时,我们已经将其打印出来,发现我们的对象位于Array实例的倒数第二个元素中。该方法已将索引从“samir”覆盖为“Prem”。