Array.transpose 方法
在本文中,我们将研究 Array.transpose 方法。你们一定认为该方法必须做一些与转置相关的事情。它并不像看起来那么简单。好吧,我们将在其余内容中解决这个问题。我们将尝试借助语法和演示程序代码来理解它。
方法说明:
该方法是一个公共实例方法,是为 Ruby 库中的 Array 类定义的。此方法的用法方式是转置 Array 实例中存在的对象。转置只是意味着行变成列,列变成行。对于转置 Array 实例,您必须记住 Array 实例中存在的所有子数组应该具有相同的长度。如果子数组的大小不匹配,则该方法将为您提供索引错误。
用法:
array_instance.transpose -> new_array
所需参数:
此方法不接受任何参数。
范例1:
=begin
Ruby program to demonstrate transpose method
=end
# array declaration
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
# array declaration
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,因为 self Array 实例中的子数组的大小或长度不同。理想情况下,转置此类 Array 实例是不可能的。
相关用法
- Ruby Array.take()用法及代码示例
- Ruby Array.take_while用法及代码示例
- Ruby Array.reject用法及代码示例
- Ruby Array.repeated_permutation()用法及代码示例
- Ruby Array.index()用法及代码示例
- Ruby Array.pack()用法及代码示例
- Ruby Array.rassoc(obj)用法及代码示例
- Ruby Array.values_at()用法及代码示例
- Ruby Array.each用法及代码示例
- Ruby Array.sort用法及代码示例
- Ruby Array.unshift()用法及代码示例
- Ruby Array.reverse用法及代码示例
- Ruby Array.rotate()用法及代码示例
- Ruby Array.repeated_combination()用法及代码示例
- Ruby Array.replace()用法及代码示例
- Ruby Array.drop_while用法及代码示例
- Ruby Array.sort_by用法及代码示例
- Ruby Array.shift用法及代码示例
- Ruby Array.assoc(obj)用法及代码示例
- Ruby Array.permutation()用法及代码示例
注:本文由纯净天空筛选整理自 Array.transpose Method with Example in Ruby。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。