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

标签 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]]

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

最佳答案

我会这样做:

a = [11,1,[23,21],14,[90,1]]
a.map { |e| [*e] }
# => [[11], [1], [23, 21], [14], [90, 1]]

或使用 Kernel#Array()

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

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

关于ruby - 创建数组数组的优雅方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21948177/

相关文章:

ruby - 一次统计目录中的文件

ruby - 我应该忽略 SCSS 吗?

php - 如何在 Laravel 的 MySQL 查询中的 where 子句中使用数组

java - 将数组的数组存储在它自己的类中?

ruby-on-rails - `block in <main>' : undefined method `[]' for nil:NilClass (NoMethodError)

ruby - 将关键字参数和参数与默认值混合会重复散列吗?

ruby - 如何使用 Unix 套接字对通信 Rust 和 Ruby 进程

php - PHP数组输出仅显示一个元素

java - Java 中泛型数组最简单的替代方法是什么?

python - 用零填充行,其他列有一些值,否则其他列没有值,在 python pandas 中用 NaN 填充它