當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Ruby Array.transpose用法及代碼示例


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 實例是不可能的。



相關用法


注:本文由純淨天空篩選整理自 Array.transpose Method with Example in Ruby。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。