当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Ruby Array.slice()用法及代码示例


Array.slice() 方法

在本文中,我们将研究 Array.slice() 方法。你们一定认为该方法必须做一些与切片 Array 实例中的元素或对象相关的事情。它并不像看起来那么简单。好吧,我们将在其余内容中解决这个问题。我们将尝试借助语法和演示程序代码来理解它。

方法说明:

此方法是一个公共实例方法,是为 Ruby 库中的 Array 类定义的。此方法适用于元素引用,并返回与方法调用一起传递的索引处的元素。如果您使用该方法传递两个参数,并且这些参数是开始和长度,则该方法将返回一个子数组,该子数组将包含从开始索引到长度索引的元素。如果在方法调用时将范围作为参数传递,则此方法将返回子数组。该方法是非破坏性方法的示例之一,该方法不会给 self Array 中对象的实际排列带来任何变化。

用法:

    array_instance.slice(index) -> object or nil
    or
    array_instance.slice(start,length)-> new_array or nil
    or
    array_instance.slice(range)-> new_array or nil

所需参数:

您可以在方法调用时提供单个索引或范围或开始和长度作为此方法内的参数。您将根据在方法内部传递的参数获得输出。

范例1:

=begin
  Ruby program to demonstrate slice method
=end

# array declaration
table = [2,4,6,8,10,12,14,16,18,20]

puts "Array slice implementation"

puts "Enter the index you want to slice"
ind = gets.chomp.to_i

if(table.slice(ind))
	puts "The element which is sliced is #{table.slice(ind)}"
else
	puts "Array index out of bound"
end

puts "Array instance after slicing:#{table}"

输出

Array slice implementation
Enter the index you want to slice
 4
The element which is sliced is 10
Array instance after slicing:[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]

说明:

在上面的代码中,您可以观察到我们在 Array.slice() 方法的帮助下从 Array 实例中切片元素。我们在索引的帮助下对其进行切片,我们已要求用户为其输入值。已从 Array 实例中切出第 4 个索引对象。由于该方法是非破坏性方法的示例之一,因此该方法不会给 self Array 带来变化。

范例2:

=begin
  Ruby program to demonstrate slice method
=end

# array declaration
table = [2,4,6,8,10,12,14,16,18,20]

puts "Array slice implementation"

puts "Enter the start index you want to slice"
ind = gets.chomp.to_i

puts "Enter the length"
len = gets.chomp.to_i

if(table.slice(ind,len))
	puts "The sub array which is sliced is #{table.slice(ind,len)}"
else
	puts "Array index out of bound"
end

puts "Array instance after slicing:#{table}"

输出

Array slice implementation
Enter the start index you want to slice
 3
Enter the length
 5
The sub array which is sliced is [8, 10, 12, 14, 16]
Array instance after slicing:[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]

说明:

在上面的代码中,您可以观察到我们在 Array.slice() 方法的帮助下从 Array 实例的元素创建了一个子数组。我们在两个参数的帮助下对其进行切片,即我们要求用户输入值的起始索引和长度。在输出中,您可以看到 Array 实例已从 3rd index 和 7th索引导致形成一个包含五个对象的数组。由于该方法是非破坏性方法的示例之一,因此该方法不会给 self Array 带来变化。



相关用法


注:本文由纯净天空筛选整理自 Array.slice() Method with Example in Ruby。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。