我有一个关于 Ruby 数组的问题,但很难描述,所以我在阅读其他问题时找不到太多信息。这里是。
目前我有以下有效的代码(虾表的一部分)
片段一:
students = all_students.map do |student|
[
student[:first_name],
student[:last_name],
student[:email],
student[:given_name]
]
end
pdf.table students
这很好用,但现在我想省略一些列(例如,不显示last_name)。假设我得到一个列名数组,比如说pickColumns:
片段 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
使用代码段 B 中的替换代码,我无法实现代码段 A 的效果。我在代码段 B 中得到的并不是“student[:first_name]”的实际值,而是每个字符串“first_name”的实际值排。
如果我的描述不是 100% 清楚,请告诉我。
谢谢你的帮助!
问候