Project

General

Profile

Feature #6852

[].transpose should behave specially

Added by Anonymous almost 8 years ago. Updated almost 8 years ago.

Status:
Rejected
Priority:
Normal
Assignee:
-
Target version:
[ruby-core:47108]

Description

p = [1, 2, 3]
q = [4, 5, 6]
[p, q].transpose

=> 1, 4], [2, 5], [3, 6

As expected, 2 x 3 vector was converted into 3 x 2.

[p].transpose

=> 1], [2], [3

As expected, 1 x 3 => 3 x 1.

[].transpose

=> []

Unexpected, 0 x 3 did not become 3 x 0: ], [], [

In other words, when [] is the receiver, transpose has no way to know
what kind of ** 2 dimensional ** object is it - whether 0 x 3, 0 x 4, 0 x 1
or perhaps 0 x 0. #transpose should not assume it is 0 x 0. It should raise,
or warn, or complain, or require argument for this case, in short, it should
behave differently than today.

Also available in: Atom PDF