Как я могу создать мод и регистр для индекса цикла .each do в ruby ​​на рельсах? - PullRequest
0 голосов
/ 27 февраля 2011

Вот моя концепция, и я надеюсь получить несколько предложений:

У меня есть массив контактов, созданных с помощью searchlogic, например:

contacts = Contacts.date_due_is (Date.today)

Эти контакты выводятся через Prawn на четыре открытки, по одному контакту в каждом «квадранте» - скажем, I, II, III и IV.

Когда я прохожу цикл, мне нужно знать, в какой сектор его поместить. Я думаю, что лучший способ сделать это - иметь возможность сделать mod значения индекса, а затем case вывод текста, но не знаю, как это сделать.

Индекс не для контакта во всей базе данных контактов, а в терминах массива, повторяющегося с каждым делом.

То, что я хотел бы сделать, было бы эквивалентно этому (концептуально, но не могу найти примеры кода):

i = contact.index (где contact.index может быть 0, 1, 2 и так далее в массиве контактов.

quad = mod (i / 4) - где возможный вывод равен 0, 1, 2 или 3 (или что-то в этом роде).

Дело квада:

0: затем вывод в левом верхнем углу 1: затем вывод в левом нижнем углу 2: затем вывод в верхнем правом углу 3: затем вывод в нижнем правом углу

Вопрос:

1) Как я могу сделать это в ruby ​​на рельсах?

2) Есть еще одна рекомендация?

Спасибо вам всем!

1 Ответ

4 голосов
/ 27 февраля 2011

Возможно 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...