Iterator.each: почему это работает - PullRequest
1 голос
/ 22 сентября 2011

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

worksheet.each 1 do |row|
  Dashboard::LocalizedMessagingField.create({blah blah blah})
end

Когда я запускаю что-то вроде следующего в irb, он жалуется на 1 для 0 параметров на каждом.

[1,2,3].each 1 do |i|
  puts i
end 

Почему это работает в приложении RoR? Кто-нибудь когда-нибудь видел что-то подобное раньше?

1 Ответ

1 голос
/ 30 сентября 2011

Я нашел ответ после небольшого копания. У нас установлен гем Spreadsheet, и он предоставляет метод каждый , который принимает параметр для пропуска первых n строк таблицы.

def each skip=dimensions[0], &block
  skip.upto(dimensions[1] - 1) do |idx|
    block.call row(idx)
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...