在Ruby中使用ary [start,length]-> object进行数组元素分配

在上一篇文章中,我们学习了如何将对象作为元素添加到Array类的对象中,并借助Array_instance [index]运算符完成了此操作?这也是将元素分配给Array实例的方法之一,因为在该方法的帮助下,我们将元素或对象添加到Array实例的特定索引中,并且该索引可能是负数或正数。在本文中,我们将介绍另一种方法,可以将元素分配给Array实例的各个索引。在本文的结尾,您将非常清楚地了解该方法。让我们借助示例来了解该方法的语法和实现。

用ary [start,length]分配元素

通过这种分配方式,您将必须提供Array实例的两个索引,您要在其中放置特定类的元素或对象。您将必须提供两个索引,这意味着一个索引将引用起始索引,第二个索引将引用结束索引。感到困惑?让我借助一个理论示例来清除此问题,如果您提供1和3作为索引,则将在索引1,2和3处分配元素。现在,让我们借助语法和方法了解场景或方法。下面提供的示例,

语法:

    array_instance[start,end] = object or object(s)

范例1:

=begin
  Ruby program to demonstrate 
  Array_instance[start,end] = object
=end

# 数组声明
array_instance = ["a","c","c","v","samir","Hrithik"]

# 输入索引
puts "Enter the start index you want to put element in:"
start = gets.chomp.to_i
puts "Enter the end index you want to put element in:"
endi = gets.chomp.to_i

if(endi<array_instance.count && start>0)
  for i in start..endi
    puts "Enter the element:"
    array_instance[i] = gets.chomp
  end
else
  puts "Index out of bound"
end

# 打印数组 
puts "The final array is:"
print array_instance

输出结果

Enter the start index you want to put element in:
 1
Enter the end index you want to put element in:
 3
Enter the element:
 Hrithik
Enter the element:
 Shivang
Enter the element:
 Prem
The final array is:
["a", "Hrithik", "Shivang", "Prem", "samir", "Hrithik"]

说明:

在上面的代码中,您可以观察到我们在询问用户两个索引。如果两个索引都可以满足我们代码的“ if”条件,那么将进行进一步处理。借助“ for”循环和范围,我们正在向用户询问元素。在覆盖声明Array实例时分配的先前元素之后,您可以观察到我们的元素反映在最终Array中。

范例2:

=begin
  Ruby program to demonstrate 
  Array_instance[start,end] = object
=end

# 数组声明
array_instance = ["a","c","c","v","samir","Hrithik"]

# 输入索引
puts "Enter the start index you want to put element in:"
start = gets.chomp.to_i
puts "Enter the end index you want to put element in:"
endi = gets.chomp.to_i
puts "Enter the element:"

# 数组实例
array_instance[start,endi] = gets.chomp

# 打印数组
puts "The final array is:"
print array_instance

输出结果

Enter the start index you want to put element in:
 1
Enter the end index you want to put element in:
 3
Enter the element:
 ?
The final array is:
["a", "?", "samir", "Hrithik"]

说明:

在上面的代码中,您可以观察到我们从用户那里获取了两个索引的输入,而我们只需要一个元素。引入此示例只是为了向您显示,当您向范围提供单个元素时,它指定了整个范围内的单个元素,该元素只能由起始索引访问。