【发布时间】:2013-01-25 02:09:26
【问题描述】:
我必须编写一个 Ruby 方法:
遍历数组,如果其中一个元素符合特定条件,则执行 Foo。
如果没有一个数组元素符合条件,则做 Bar 的事情。
在任何其他语言中,我会在进入循环之前设置一个布尔变量,如果我执行 Foo.该变量的值会告诉我是否需要 Bar。但这感觉非常不雅。有人可以提出更好的方法吗?
编辑 一些非常好的答案,但由于我应该提到的一个细节,它们并不完全有效。 Foo 所做的事情是对匹配条件的数组元素执行的。另外,保证最多有一个元素符合条件。
【问题讨论】:
-
你需要展示你为解决这个问题而写的东西。否则,您似乎在寻找答案。
-
@theTinMan 我什么都没写。在任何情况下,这都不是一大段代码。我已经足够了解编写有效的代码 我只是想学习像 Ruby 人一样思考。
-
您应该接受@Alex Wayne 的回答。它解决了您问题的第二部分。
-
@louism Alex 的答案有其优点,但我有一个更好的答案。等我有时间会发布。