需要实现一个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