小编use*_*959的帖子

ruby 中数组的一步展平

我正在 codewars 中进行这个练习,即展平数组(最多一层深),例如,我想获得输出:

[1,2,3] >> [1,2,3]

[[1,2],3] >> [1,2,3]

[[1,[2]],3] >> [1,[2],3]
Run Code Online (Sandbox Code Playgroud)

我决定使用“注入” - 如果该元素是数组,则下一个元素将添加到运行总数中,如果不是,则直接推送:

def flatten(array)
  array.inject([]) {|result,element| element.kind_of?(Array) result.concat(element) : result<<element}
end
Run Code Online (Sandbox Code Playgroud)

谁能帮助解释为什么我收到以下语法错误?

-e:3: syntax error, unexpected tIDENTIFIER, expecting '}'
... element.kind_of?(Array) result.concat(element) : result<
Run Code Online (Sandbox Code Playgroud)

ruby arrays

2
推荐指数
1
解决办法
1248
查看次数

标签 统计

arrays ×1

ruby ×1