在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”。