我有三个数组:g
、a
和 b
。 g
有两组一个或多个连续的 nil
值。第一(第二)组包含 a.size
(b.size
) nil
。我希望用 a
(b
) 的相应元素替换第一(第二)组中的每个 nil
。例如,如果:
g = [1, 2, nil, nil, nil, 3, nil, nil, nil, nil]
a = [55, 45, 56]
b = [100, 200, 300, 400]
我希望g
成为:
[1, 2, 55, 45, 56, 3, 100, 200, 300, 400]
我该怎么做?
最佳答案
[]=
方法可以这样赋值,它的一种变体是
foo[insertion_point, length] = values
(还有一个版本是取范围而不是这对值)
g = [1,2,nil,nil,nil,3,nil,nil,nil,nil]
a = [55,45,56]
b = [100,200,300,400]
g[2, a.size] = a
g #=> [1, 2, 55, 45, 56, 3, nil, nil, nil, nil]
g[6, b.size] = b
g #=> [1, 2, 55, 45, 56, 3, 100, 200, 300, 400]
只要间隙与您要插入的数组的大小相同,您就不需要对 nils 做任何事情
关于arrays - 用另外两个数组的值替换数组中的 nil 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31228530/