Ruby中带有示例的Array.transpose方法
Array.transpose方法
在本文中,我们将研究Array.transpose方法。你们都必须认为该方法必须在做与移调有关的事情。它并不像看起来那么简单。好吧,我们将在其余内容中解决这个问题。我们将尝试借助语法并演示程序代码来理解它。
方法说明:
该方法是一个公共实例方法,为Ruby库中的Array类定义。此方法的工作方式是转置Array实例中存在的对象。简单地转置意味着行变成列,列变成行。为了转置Array实例,您必须记住Array实例中存在的所有子数组都应具有相同的长度。如果子数组的大小不匹配,则该方法将为您提供索引错误。
语法:
array_instance.transpose -> new_array
Argument(s)需要:
此方法不带任何参数。
范例1:
=begin Ruby program to demonstrate transpose method =end #数组声明 table = [[2,4,8],[10,12,134],[160,180,200]] puts "Array transpose implementation" rslt = table.transpose puts "The Array instance returned from the method is:#{rslt}"
输出结果
Array transpose implementation The Array instance returned from the method is:[[2, 10, 160], [4, 12, 180], [8, 134, 200]]
说明:
在上面的代码中,您可以观察到借助于Array.transpose方法,我们正在对Array实例中的元素进行转置。在输出中,您可以看到该行已更改为列,该列已更改为行。
范例2:
=begin Ruby program to demonstrate transpose method =end #数组声明 table = [[2,4,8],[10,12,134],[160,180,200,344]] puts "Array transpose implementation" rslt = table.transpose puts "The Array instance returned from the method is:#{rslt}"
输出结果
Array transpose implementation element size differs (4 should be 3) (repl):9:in `transpose' (repl):9:in `<main>'
说明:
在上面的代码中,您可以观察到该方法给出IndexError,因为selfArray实例中的子数组的大小或长度不同。理想情况下,不可能转置此类Array实例。