【发布时间】:2014-02-03 16:23:00
【问题描述】:
我正在尝试将下面的 while 循环减少到一行
def this_method(week)
i = 0
while i < array.length
yield(week[i])
i += 1
end
end
week.each do |week|
puts week
end
【问题讨论】:
-
答案是否定的。您不能使用三元运算符来替换 while 循环。每个都有不同的用例。
-
我唯一能想到的就是将while循环转换为一个函数,这样我就可以调用循环了——这是最好的方法吗?
-
为什么要这样做?三元运算符可能会简化一些操作,但通常情况下,当您重新访问时,它可能会使您的代码难以维护/理解。
-
我想让代码更短更易读,以便清楚地了解各种运算符的用法,即它们能做什么和不能做什么。
标签: ruby while-loop ternary-operator