【发布时间】:2013-01-27 09:16:50
【问题描述】:
我有一个看起来很简单的问题。我有一个 for 循环,我在每次迭代中调用不同的函数。如果某些条件成立,则仅需要在第一次迭代时使用其中一些函数。解决此问题的一种方法是在调用相关函数之前使用“if”语句检查条件,但我想知道是否有其他方法可以解决这个问题,因为我有超过 10 个具有相同情况的函数(不同的当然条件)?例如,请看下面的伪代码:
for Iteration < Generation
...
if ('certain condition 01 holds true')
output = function01(arguments)
end
...
...
if ('certain condition 02 holds true')
output = function02(arguments)
end
...
...
if ('certain condition 10 holds true')
output = function10(arguments)
end
...
end
如果我有 10000 次迭代,则这些“if”语句中的每一个都应评估 10000 次,这会显着增加计算时间。是否可以使用面向对象的编程和类而不是函数来使其更好并且可能更快?
【问题讨论】:
-
你的问题有点自我回答。如果您必须在每次迭代中检查某些条件以便确定是否运行某些功能,则无法避免评估它们。在这种情况下,我敢打赌,最快的方法是使用最简单的语言结构(
if在这里似乎很合适)...