Я занимаюсь рефакторингом шашечной программы и пытаюсь обработать запрос на перемещение игроков (в форме «3, 3, 5, 5»). "например) в массив int. У меня есть следующий метод, но он не кажется таким Ruby-подобным, каким я мог бы быть:
def translate_move_request_to_coordinates(move_request)
return_array = []
coords_array = move_request.chomp.split(',')
coords_array.each_with_index do |i, x|
return_array[x] = i.to_i
end
return_array
end
У меня есть следующий тест RSpec с ним.
it "translates a move request string into an array of coordinates" do
player_input = "3, 3, 5, 5"
translated_array = @game.translate_move_request_to_coordinates(player_input)
translated_array.should == [3, 3, 5, 5]
end
Тест пройден, но я считаю код довольно некрасивым. Любая помощь будет оценена по достоинству. Спасибо.
Стив