一个学习RUBY的新手:需要在类Formatter中实现wrap_array_elements方法



需要实现一个wrap_array_elements方法,该方法接受一个数组和两个用于左侧和右侧换行的args,并返回一个新数组,该数组带有一个包含"包裹";每个元素的版本。

示例参数:[5, 6, 7, 8, 9]"<<"">>"

应返回一个数组:["<<5>>", "<<6>>", "<<7>>", "<<8>>", "<<9>>"]

class Formatter
def wrap_array_elements(elements, left, right)
@elements= elements
@left = left
@right = right
formatted_array = Array.new
formatted_array.push(elements.map {|element| @left + item + @right})
puts "#{formatted_array}"
end
end

它比这简单得多,只需要用map从原始数组生成一个新数组。

class Formatter
def wrap_array_elements(elements, left, right)
elements.map {|element| "#{left}#{element}#{right}"}
end
end

或者,您可以使用Array.join:,而不是像javiyu的解决方案中那样使用字符串插值

class Formatter
def wrap_array_elements(elements, left, right)
elements.map { |element| [left, element, right].join }
end 
end

最新更新