Подтвердить что ты не робот

Как вы прокручиваете многострочную строку в Ruby?

Довольно простой вопрос от первого программиста Ruby.

Как вы просматриваете текст в Ruby? Каждый раз, когда выполняется новая строка, я хочу снова запустить внутренний цикл.

def parse(input)
    ...
end
4b9b3361

Ответ 2

То, что сказал Ириимуляня.

Или вы можете разбить строку на новые строки:

str.split(/\r?\n|\r/).each { |line| … }

Остерегайтесь, чтобы each_line сохранял символы перевода строки, а split ест их.

Обратите внимание, что регулярное выражение, которое я использовал здесь, позаботится о всех трех форматах окончания строки. String#each_line разделяет строки необязательным аргументом sep_string, который по умолчанию равен $/, который по умолчанию сам по себе равен "\n".

Наконец, если вы хотите выполнить более сложный синтаксический анализ строк, проверьте встроенный класс StringScanner.

Ответ 3

Вы также можете использовать любой шаблон:

str.scan(/\w+/) do |w|
  #do something
end

Ответ 4

str.each_line.chomp do |line|
  # do something with a clean line without line feed characters
end

Я думаю, что это должно заботиться о новых символах.