创建数组数组的优雅方式?

Cod*_*ver 1 ruby arrays

我想从另一个数组创建一个数组数组:

a = [11,1,[23,21],14,[90,1]]
a.map { |e| e.is_a?(Array) ? e : [e] }
# => [[11], [1], [23, 21], [14], [90, 1]]
Run Code Online (Sandbox Code Playgroud)

有一种优雅的方式来做到这一点?

Aru*_*hit 6

我会这样做:

a = [11,1,[23,21],14,[90,1]]
a.map { |e| [*e] }
# => [[11], [1], [23, 21], [14], [90, 1]]
Run Code Online (Sandbox Code Playgroud)

或使用内核#Array()

a.map { |e| Array(e) }
# => [[11], [1], [23, 21], [14], [90, 1]]
Run Code Online (Sandbox Code Playgroud)

使用,你认为优雅,对我来说都是优雅的:-)