Ruby中带有示例的Array.zip()方法

Array.zip()方法

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

方法说明:

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

语法:

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

Argument(s) 需要:

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

范例1:

=begin
  Ruby program to demonstrate zip method
=end

# 数组声明
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"]

说明:

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

范例2:

=begin
  Ruby program to demonstrate zip method
=end

# 数组声明
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压缩Array对象zip()方法。此方法是一种非破坏性方法,不会在实际的Array实例中创建任何更改。