Генерирование последовательности строк
августа 8, 2008
Иногда бывает необходимо принять «следующую» строку. Так, следующей для строки “ааа” будет строка “aab” (потом “aac”, “aad” и так далее). В Ruby для этой задачи есть способ succ:
droid = “R2D2″
inproved = droid.succ # “R2D3″
pill = “Vitamin B”
pill2 = pill.succ # “Vitamin C”
He рекомендуется использовать данный метод, в случае, если точно не известно, что первоначальное значение предсказуемо и разумно. В случае, если начать с какой-нибудь иностранной
строки, то рано или поздно вы получите странный факт.
Существует также метод upto, который в цикле вызывает succ, пока не будет
достигнуто последнее значение:
“Files, A”.upto “Files, X” do |letter|
puts “Opening: #{letter}”
end
Еще разок подчеркнем, что эта реальность применяется редко, да и то на ваш страх и риск. Кстати, метода, возвращающего «предшествующую» строку, не существует.
Комментировать
Вы должны войти для того, чтобы оставить комментарий.