首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DM-脚本有惰性评估吗?

DM-脚本有惰性评估吗?
EN

Stack Overflow用户
提问于 2020-06-04 13:12:49
回答 1查看 46关注 0票数 1

我想知道在dm-script中是否没有惰性的评估?

我有下面的代码片段来检查TagGroup是否有效。它抛出一个错误,告诉我没有定义TagGroup,所以TagGroupCountTags()函数不能在这个TagGroup上执行。但是这就是这个片段的目的,检查TagGroupindex是否有效。

我试着调试代码。第一个语句tg.TagGroupIsValid()返回false,当然,0 <= index也是。为什么tg.TagGroupCountTags()还在执行?我不能否定没有懒惰的评价。

代码语言:javascript
复制
number index = -1; // of course this is not set to -1 in my original code, this is just for demonstration
TagGroup tg;

clearResults();
result(tg.TagGroupIsValid() + "\n"); // resturns 0
result((0 <= index) + "\n"); // returns 0

if(tg.TagGroupIsValid() && 0 <= index && index < tg.TagGroupCountTags()){
    result("Valid.");
}
else{
    result("Invalid.");
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-04 14:47:53

是的,DM-Script中的条件总是被完全计算(没有懒惰的计算),所以您必须以嵌套的方式放置If-子句。如果您使用的是第三运算符(?),这也是正确的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62195513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档