如何在Ruby中将一个数组添加到另一个数组中,而不以多维结果结束?

somearray=[“some”,“thing”]
另一个数组=[“另一个”,“东西”]
某个数组。推(另一个数组。展平!)

我预料

[“一些”、“事物”、“另一个”、“事物”]

你有一个可行的想法,但是#太简单了放错了位置——它压平了接收器,因此您可以使用它将[1,2,['foo','bar']]转换为[1,2,'foo','bar']

毫无疑问,我忘记了一些方法,但您可以连接:

a1.concat a2
a1+a2#创建一个新数组,a1+=a2也是如此

前置/追加

a1.按下(*a2)#注意星号
a2.取消移位(*a1)#注意星号,a2是接收器

拼接

a1[a1.length,0]=a2
a1[a1.长度..0]=a2
a1.插入件(a1.长度,*a2)

追加并展平

(a1<<a2)。展平调用#flatten将返回一个新数组

发表评论