gpt4 book ai didi

ruby - @things.each 或 5 次做 |t|

转载 作者:数据小太阳 更新时间:2023-10-29 07:13:01 27 4
gpt4 key购买 nike

有没有一种方法可以让迭代器在对象为 nil 时仍然进行迭代?

例如,我想从我的应用程序中剥离我的 View 并为设计师创建一个虚拟应用程序。

所以我希望它迭代或循环。

如何做到这一点?

我刚刚找到了一种方法

<%
(@messages.count == 0 ? Array.new(5).map { Message.new } : @messages.each).each do |m|
%>

最佳答案

你应该能够使用这样的东西:

(@things || dummy_things).each do |thing|
# do something with thing
end

def dummy_things
dummies = []
5.times do
dummies.push(Thing.new)
end
dummies
end

因此,如果 @thingsnil,那么它的作用是迭代虚拟事物,否则仅迭代 @things

编辑

如 Victor 所述,dummy_things 的更简洁版本如下所示:

def dummy_things
(0..4).map{ Thing.new }
end

关于ruby - @things.each 或 5 次做 |t|,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9378175/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com