извините, у меня были проблемы с формулировкой моего вопроса.Чтобы объяснить это лучше:
I have a = ["alice", "jean", "bob"]
Теперь я хочу позволить пользователю выбрать, кто запустит игру.Если его джинсовый, новый массив должен выглядеть следующим образом:
a = ["jean", "bob", "alice"]
Пока это работает:
def sort_array_players(array_player, starter)
sort_array_player = []
array_player.map do |name|
if name == starter && name == array_player[0]
sort_array_player = [array_player[0], array_player[1], array_player[2]]
elsif name == starter && name == array_player[1]
sort_array_player = [array_player[1], array_player[2], array_player[0]]
elsif name == starter && name == array_player[2]
sort_array_player = [array_player[2], array_player[0], array_player[1]]
end
end
puts sort_array_player
end
Я хочу рефракторить этот код, но я немного новРубин, я потратил 2 часа, пытаясь выяснить эту вещь.Я предполагаю, что вам нужно использовать each.with_index, а затем создать новый массив, начиная с первого, и следующий элемент будет с индексом стартера + 1 ..
Спасибо за помощь, ребята