Цикл, содержащий только четные числа - PullRequest
0 голосов
/ 06 декабря 2018

Я выполняю задачу по созданию массива поддельных адресов электронной почты в заданном формате.

Мне удалось написать код, который работает для него.Вот как выглядит мой код:

emails = []
(1..50).each do |i|
  puts "jean.dupont.%02d@email.fr" %[i]
  emails.push(i)
end

Это генерирует электронные письма, которые выглядят так:

jean.dupont.01@email.fr
jean.dupont.02@email.fr
jean.dupont.03@email.fr
...
jean.dupont.50@email.fr

Я выполняю другую задачу, чтобы сгенерировать то же самое, но только с четными числами.

Как я могу добавить простой код к тому, что у меня есть, чтобы он давал только четные числа?

Ответы [ 3 ]

0 голосов
/ 06 декабря 2018

Вы можете отфильтровать свой диапазон только по четным числам, используя метод .select, изменив (1..50).each на (1..50).select(&:even?).each.

Если вы можете изменить диапазон, то ответ джеринесмита тоже хорош.

0 голосов
/ 06 декабря 2018

Старая школа (поучительно для студентов):

emails = []
(1..50).each do |i|
  if i % 2 == 0
    puts "jean.dupont.%02d@email.fr" %[i]
    emails.push(i)
  end
end
0 голосов
/ 06 декабря 2018

Если вы можете изменить диапазон, то step будет вашим другом:

emails = []
(2..50).step(2) do |i|
  puts "jean.dupont.%02d@email.fr" %[i]
  emails.push(i)
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...