Входной файл является файлом excel, а файл excel имеет заголовки, такие как author, 2ndauthor, 3rdauthor.Ruby on Rails простой стиль выходного стиля
Так вход XLSX выглядит
Title Author 2ndAuthor 3rdAuthor 4thAuthor
E=MC^2 Einstein
DNA Watson Crick
AAA BB BBB CCC
Но в настоящее время рубин по программе рельсов делает что-то вроде
if not contents["#{record.title} (#{record.author} paper)"]
contents += "*[[#{record.title} (#{record.author} paper)]]\r\n"
end
Так выход программы рубиновой выглядит
E=MC^2 (Einstein paper)
DNA (Watson paper)
AAA (BB paper)
Но я хочу включить 2ndauthor, 3rdauthor, ... для получения
E=MC^2 (Einstein paper)
DNA (Watson and Crick paper)
AAA (BB, BBB, and CCC paper)
Таким образом, запятая добавляется между авторами только при наличии 3 или более 3 авторов.
Есть ли блестящий способ сделать это?
добавлен вопрос
Если
"#{title} (#{author} paper)"
генерировала
AAA (BB paper)
тогда
"#{title}" + " ([#{author},#{2ndauthor},#{3rdauthor},#{4thauthor}].delete_if{|val| val.nil?}.to_sentence" + " paper)"
генерировать
AAA (BB, BBB, and CCC paper)
?
Если вы хотите ответ, пожалуйста, примите его, нажав на проверку под номером ответа. –