Как добавить в массив в Ruby

Я всегда использую: https://www.mail-tester.com/

Он дает мне отзыв о технической части отправки электронной почты. Как SPF-записи, DKIM, счет Spamassassin и так далее. Несмотря на то, что я знаю, что требуется, я постоянно делаю ошибки, а mail-tester.com позволяет легко понять, что может быть неправильным.

13
задан Titouan de Bailleul 28 November 2012 в 11:22
поделиться

5 ответов

Для двух повторяющихся примеров вам нужно установить @build до вызова << на нем.

Я не точно, что возвращает build_booking , но если это массив (я предполагаю с первого раза, рабочий пример), то вы, вероятно, захотите добавить результат build_booking в ] @build . Например,

@build = []
for item in @cart.items do
  @build += Booking.build_booking('2009-06-13',3,2,18314)
end
16
ответ дан 1 December 2019 в 06:43
поделиться

Я предпочитаю использовать замечательные методы работы с массивами, которые Ruby может предложить в цикле for:

@build = @cart.items.map { |item| Booking.build_booking('2009-06-13',3,2,18314) }
27
ответ дан 1 December 2019 в 06:43
поделиться

Быстрый подход, однако, состоял бы в том, чтобы просто объявить массив для объединения двух элементов:

@build = [ @build1, @build2 ]

Я бы использовал подход, подобный Magnar, который гораздо более краток.

0
ответ дан 1 December 2019 в 06:43
поделиться

@build должен быть массивом или объектом, который отвечает на << , чтобы @build << работал .

Когда вы закончите:

@build = @build1 + @build2

Какое значение имеет @build ?

0
ответ дан 1 December 2019 в 06:43
поделиться
@build = []
for item in @cart.items do
  @build += Booking.build_booking('2009-06-13',3,2,18314)
end


 @build.flatten!

flatten будет работать даже Booking.build_booking возвращает массив бронирований

0
ответ дан 1 December 2019 в 06:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: