У меня есть вопрос о массивах Ruby, но его сложно описать, поэтому я не смог найти много, прочитав другие вопросы.Вот.
В настоящее время у меня есть следующий код, который работает (часть таблицы Prawn)
Фрагмент A:
students = all_students.map do |student|
[
student[:first_name],
student[:last_name],
student[:email],
student[:given_name]
]
end
pdf.table students
Это отлично работает, но теперь я хотел бы опуститьнекоторые из столбцов (например, не показывают last_name).Скажем, я получил массив имен столбцов, скажем, selectedColumns:
Фрагмент B:
pickedColumns = []
pickedColumns << :first_name << :email << :given_name #NOTE: no (:last_name) there!
students = all_students.map do |student|
studentCols = pickedColumns.each do |studentCol|
student[studentCol]
end
end
p.table students
Я не смог добиться эффекта фрагмента A, используя замененный код вфрагмент B. Все, что я получаю в фрагменте B, не является действительными значениями «student [: first_name]», а просто строкой «first_name» для каждой строки.
Если мое описание не на 100% понятно, пожалуйста, дайте мне знать.
Спасибо за помощь!
С уважением