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