【发布时间】:2012-03-11 19:11:40
【问题描述】:
有没有办法让迭代器在对象为 nil 时也能进行迭代?
例如,我想从我的应用程序中剥离我的视图并为设计师创建一个虚拟应用程序。
所以我希望它迭代或循环。
如何做到这一点?
我刚刚找到了一种方法
<%
(@messages.count == 0 ? Array.new(5).map { Message.new } : @messages.each).each do |m|
%>
【问题讨论】:
-
如果你不打算修改你的消息,
Array.new(5, Message.new)会更快,除了@messages.each=>@messages,你不需要创建枚举器。