在本文中,我们将研究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实例中创建任何更改。