在ruby中只显示数组中的3个值

时间:2015-07-13 06:54:09

标签: ruby-on-rails

我已经包含了给定的代码

@students = "All #{section.count}#{section.values}"

output: "All 9['A','B','C','D','E','F','G','H','I']"

但我希望节目输出为所有9 [' A'' B'' C',...]

请指导我如何解决这个问题。提前谢谢。

4 个答案:

答案 0 :(得分:3)

您可以打印Array的前3个元素,然后操作String以包含省略号。这里:

section.values
# => ["A", "B", "C", "D", "E", "F", "G", "H", "I"]

puts "#{section.values[0..2]}".sub("]",", ...]")
# ["A", "B", "C", ...]

答案 1 :(得分:0)

你可以这样做

@students = "All #{section.count}#{(section.count > 3) ? (section.values[0..2] << '...') : section.values}"

希望有所帮助!

答案 2 :(得分:0)

您也可以使用#take方法。例如:

a = [1,2,3,4,5]
a.take(2) # will give as result [1,2]

希望它会有所帮助。

答案 3 :(得分:0)

首先获取所有记录并将其存储在@student上。 并使用first()方法

@student.first(count)