Как определить последний объект в каждом цикле?

У меня была эта проблема, и я решил ее, удалив файл .git / ORIG_HEAD, а затем повторил попытку. Файл .git / ORIG_HEAD был 0 байтов вместо ссылки на git, которую он должен был содержать, поэтому я просто избавился от него.

37
задан alamodey 30 May 2009 в 06:33
поделиться

3 ответа

Интересный вопрос. Используйте each_with_index.

len = @stuff.length

@stuff.each_with_index do |x, index|
 # should be index + 1       
 if index+1 == len
 # do something
  end
end
29
ответ дан 27 November 2019 в 04:16
поделиться

Более лихой альтернативой будет использование

@stuff[1..-1].each do |thing|

end
@stuff[-1].do_something_else
1
ответ дан 27 November 2019 в 04:16
поделиться

Несколько наивно способ справиться с этим, но:

<% @stuff.each_with_index do |thing, i| %>
  <% if (i + 1) == @stuff.length %>
    ...
  <% else %>
    ...
  <% end %>
<% end %>
2
ответ дан 27 November 2019 в 04:16
поделиться
Другие вопросы по тегам:

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