gpt4 book ai didi

function - 如果条件以另一种/更好的方式?

转载 作者:行者123 更新时间:2023-12-04 22:07:45 25 4
gpt4 key购买 nike

我正在编写如下所示的 VBA 代码:

If function_one Or Function_two Or Function_three Then
' Do Something
End If

所以,如果任何一个函数返回真值,它就会做一些事情。

我想,我写了一个小而高效的代码。

但是在调试过程中我发现,VBA 运行 function_one,获取它的返回值,然后运行 ​​function_two,获取它的返回值,等等第三个,然后评估 if 条件并继续进行。

我想要实现的是,一旦第一个函数返回 true,它就应该做一些事情,而不应该执行其他函数。如果第一个函数失败,则只应调用下一个函数。

后来,我使用循环关键字来完成这个任务,但它看起来并不简单/聪明。
你知道吗,我如何以更优化的方式编写相同的代码。

最佳答案

您必须手动实现短路:

result = function_one
if not result then
result = function_two
end if
if not result then
result = function_three
end if
If result Then
' Do Something
End If

VBA(和经典 VB)不提供 And 的短路版本或 Or (在 VB.Net 中,这些项目被引入为 AndAlsoOrElse )

关于function - 如果条件以另一种/更好的方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17037528/

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