Как Вы циклично выполняетесь через многострочную строку в Ruby?

Согласно официальной документации Thymeleaf: значения атрибутов th: object в тегах формы должны быть выражениями переменных ($ {...}), определяющими только имя атрибута модели , без навигации по свойствам

th: each = "usuario: $ {usuarios} и th: object =" $ {usuario} ", оба одинаковы.

Здесь вы используете его как локальную ссылку. Попробуйте переименовать th: каждое имя переменной или заменить на имя объекта команды / атрибута модели.

49
задан Rodrigue 14 January 2013 в 07:30
поделиться

4 ответа

String#each_line

str.each_line do |line|
    #do something with line
end
108
ответ дан dfherr 7 November 2019 в 11:26
поделиться

Какой сказанный Iraimbilanja.

Или Вы могли разделить строку в новых строках:

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

Остерегаются, это each_line сохраняет символы перевода строки, в то время как split ест их.

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

Наконец, если Вы хотите сделать более сложный строковый парсинг, проверяют встроенный класс StringScanner.

19
ответ дан kch 7 November 2019 в 11:26
поделиться

Можно также сделать с с любым шаблоном:

str.scan(/\w+/) do |w|
  #do something
end
3
ответ дан Lolindrath 7 November 2019 в 11:26
поделиться
str.each_line.chomp do |line|
  # do something with a clean line without line feed characters
end

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

-2
ответ дан Nick Ryberg 7 November 2019 в 11:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: