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


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


Array.zip() 方法

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

方法说明:

此方法是一个公共实例方法,是为 Ruby 库中的 Array 类定义的。此方法的用法方式是将任何参数转换为 Array 对象,然后将该 Array 实例与 self 数组的元素合并。这会产生一个 Array.length n-element Array 对象的序列,其中 n 可能大于元素的数量。如果任何参数的大小小于初始数组的大小,该方法将提供 "nil" 值。如果您提供一个块,则为每个结果数组对象调用该块,否则返回一个数组数组,或者您可以说返回一个多维数组。

用法:

    array_instance.zip(arg, ...) -> new_ary
    array_instance.zip(arg, ...) { |arr| block } -> nil 

所需参数:

此方法可以将多个对象作为参数。

范例1:

=begin
  Ruby program to demonstrate zip method
=end

# array declaration
table = ["fatima","Sabita","Monica","Syresh","Kamish","Punish"]
table1 = ["Apple","Banana","Orange","Papaya"]

puts "Array zip implementation:"

puts "#{["abc","pqr"].zip(table,table1)}"
puts "Array instance:#{table}"

输出

Array zip implementation:
[["abc", "fatima", "Apple"], ["pqr", "Sabita", "Banana"]]
Array instance:["fatima", "Sabita", "Monica", "Syresh", "Kamish", "Punish"]

说明:

在上面的代码中,您可以看到我们在 Array.zip() 方法的帮助下压缩了 Array 对象。此方法是一种非破坏性方法,不会在实际 Array 实例中创建任何更改。

范例2:

=begin
  Ruby program to demonstrate zip method
=end

# array declaration
table = ["fatima","Sabita","Monica","Syresh","Kamish","Punish"]
table1 = ["Apple","Banana","Orange","Papaya"]

puts "Array zip implementation:"

puts "#{table.zip(["Kuber","Kamesh"],table1)}"
puts "Array instance:#{table}"

输出

Array zip implementation:
[["fatima", "Kuber", "Apple"], ["Sabita", "Kamesh", "Banana"], ["Monica", nil, "Orange"], ["Syresh", nil, "Papaya"], ["Kamish", nil, nil], ["Punish", nil, nil]]
Array instance:["fatima", "Sabita", "Monica", "Syresh", "Kamish", "Punish"]

说明:

在上面的代码中,您可以看到我们在 Array.zip() 方法的帮助下压缩了 Array 对象。此方法是一种非破坏性方法,不会在实际 Array 实例中创建任何更改。



相关用法


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