在本文中,我们将研究Array.take()方法。你们都必须认为该方法必须在做一些与从Array实例中获取元素或对象有关的事情。它并不像看起来那么简单。好吧,我们将在其余内容中解决这个问题。我们将尝试借助语法并演示程序代码来理解它。
方法说明:
该方法是一个公共实例方法,为Ruby库中的Array类定义。此方法的工作方式是从Array实例中获取n个参数,然后返回一个新的Array实例,其中包含从self Array中获取的对象。如果在调用方法的同时提供负值,则该方法将引发异常。此方法是非破坏性方法的示例之一,该方法不会对self Array中的对象的实际排列带来任何更改。
语法:
array_instance.take(n) -> new_array or nil
Argument(s) 需要:
此方法仅需要一个参数即可确定要从Array实例获取的对象数。参数必须严格为正整数,否则该方法将引发异常。
范例1:
=begin Ruby program to demonstrate take method =end # 数组声明 table = [2,4,6,8,10,12,14,16,18,20] puts "Array take implementation" puts "Enter the number of objects you want to take from the Array:" num = gets.chomp.to_i if(table.take(num)) puts "The objects taken are: #{table.take(num)}" else puts "Exception occured" end puts "Array instance: #{table}"
输出结果
RUN 1: Array take implementation Enter the number of objects you want to take from the Array: 4 The objects taken are: [2, 4, 6, 8] Array instance: [2, 4, 6, 8, 10, 12, 14, 16, 18, 20] RUN 2: Array take implementation Enter the number of objects you want to take from the Array: -5 attempt to take negative size (repl):13:in `take' (repl):13:in `<main>'
说明:
在上面的代码中,您可以观察到我们是在Array的帮助下从Array实例中获取元素的。take()方法。对象或元素的获取将从始终为0的Array实例的第一个索引开始。在第二个输出中,您可以观察到,当我们提供负索引时,该方法将引发异常,因为在这种情况下,这个方法没有什么比从Array实例的末尾可以获取对象更重要的了。
范例2:
=begin Ruby program to demonstrate take method =end # 数组声明 table = ["Subha","Sham","Raat","Vivek","Me"] puts "Array take implementation" puts "Enter the number of objects you want to take from the Array:" num = gets.chomp.to_i if(table.take(num)) puts "The objects taken are: #{table.take(num)}" else puts "Exception occured" end puts "Array instance: #{table}"
输出结果
RUN 1: Array take implementation Enter the number of objects you want to take from the Array: 3 The objects taken are: ["Subha", "Sham", "Raat"] Array instance: ["Subha", "Sham", "Raat", "Vivek", "Me"] RUN 2: Array take implementation Enter the number of objects you want to take from the Array: -9 attempt to take negative size (repl):13:in `take' (repl):13:in `<main>'
说明:
演示该程序只是为了向您展示该方法也适用于String Array。在上面的代码中,您可以观察到我们是在Array的帮助下从Array实例中获取元素的。take()方法。对象或元素的获取将从始终为0的Array实例的第一个索引开始。在第二个输出中,您可以观察到,当我们提供负索引时,该方法将引发异常,因为在这种情况下,这个方法没有什么比从Array实例的末尾可以获取对象更重要的了。