这是我的概念,我希望得到一些建议:
我有一系列通过searchlogic生成的联系人,例如:
contacts = Contacts.date_due_is(Date.today)
这些联系人通过Prawn输出到四张明信片上,每个“象限”中有一个联系人 - 比如I,II,III和IV。
当我循环时,我需要知道放置它的象限。我认为最好的方法是能够执行索引值mod
,然后case
文本输出,但不知道如何执行此操作。
索引不是整个Contacts数据库中的联系人,而是使用each-do循环的数组。
我想做的就是相当于这个(概念上,但找不到代码的例子):
i = contact.index(其中contact.index可以是contacts数组中的0,1,2等。
quad = mod(i / 4) - 可能的输出为0,1,2或3(或类似的东西)。
案例四:
0:然后在左上角输出 1:然后在左下方输出 2:然后在右上角输出 3:然后在右下方输出
问题:
1)我怎么能在轨道上的ruby中做到这一点?
2)还有其他推荐吗?
谢谢大家!
答案 0 :(得分:4)
或许你需要Enumerable#each_with_index
吗?
http://www.ruby-doc.org/core/classes/Enumerable.html#M001511
contacts.each_with_index do |contact, idx|
quad = idx%4
end