Rails Метод с 2 возвратами - как их получить? - PullRequest
1 голос
/ 16 декабря 2010
parse_emails('long list')


def parse_emails(emails)
  .... stuff
  return valid_emails, invalid_emails
end

Я вижу, что есть два массива, но как мне их получить?Я попытался:

mylist = parse_emails('long list')
mylist[valid_emails]

но эта ошибка произошла.идеи?thxs

Ответы [ 3 ]

7 голосов
/ 16 декабря 2010

valid_emails, invalid_emails = parse_emails(whatever)

Пожалуйста, найдите время, чтобы прочитать некоторые базовые вступления в синтаксис Ruby;)

1 голос
/ 16 декабря 2010

Создайте класс с двумя списками в нем, один для действительных электронных писем и один для недействительных электронных писем, и заполните объект этого класса в функции parse_emails и верните его.

Затем снаружи вы можете получить доступэти два списка как свойства возвращаемого значения.

0 голосов
/ 16 декабря 2010

Вы можете передать два массива в метод, а затем заполнить их там:

invalid_emails = []
valid_emails = []
parse_emails('long list', valid_emails, invalid_emails)


def parse_emails(emails, valid, invalid)
  .... stuff
  while ...
    if is_valid?
      valid << current_email
    else 
      invalid << current_email
    end
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...