如果我有一个存储字符串的数组,在Ruby中想要得到结果数组,最好的方法是什么?
array = ["string_apple", "string_banana", "string_orange"]
desired_result = [["string", "apple"], ["string", "banana"], ["string", "orange"]]
My current attempt:
array.map(|r| r.split("_"))
map{...}
而不是 map(...)
才能正确地使用语法。array = ["string_apple", "string_banana", "string_orange"]
# Assign to a different array:
split_array = array.map{ |s| s.split(/_/) }
# Or modify the original array in place:
array.map!{ |s| s.split(/_/) }
# [["string", "apple"], ["string", "banana"], ["string", "orange"]]
map!
添加到答案中。 - Timur Shtatland
map
中的块应该使用花括号。请注意,这并不会改变数组。也许你只需要将其分配给一个变量。new_array = array.map { |r| r.split("_") }
或者如果你想使用相同的变量名array = array.map {|r| r.split("_") }
。 - SteveTurczyn.map(|r| r.split("_"))
这样的语法。Rust 语言有这种语法。 - Rajagopalan