如下图,在多个条件判断的测试中,b01,b02,b03,b04 均为真,使用 (b01 && b02 && b03 && b04) 的写法判断也是真,但是将具体内容全部写在一起的时候输出结果为假。请问可能的原因是什么?
你可以先发一个满足你叙述情况的输出图
代码贴全,部分代码是无法检验的
数据,品种都没有,怎么复现呢
序列类型的问题
tbl语言有一个优化算法,就是多个bool对象用and连接的时候,从前往后逐个判断对象的值,如果有一个是fasle,那后面的就不用再计算了,整个and表达式就都是false了。
这种优化算法可以节省一些算力。
但是如果后面的bool对象是一些序列型的函数对象,会导致因为没有执行函数内代码导致函数内部空间的序列对象数据错乱。
所以不建议在这些或有执行的部分执行带有序列类型的函数或者序列类型的写入操作
这个问题在零基础的课程里是有涵盖的,建议把零基础课程过一遍再问问题
https://www.bilibili.com/video/BV1BV411A7eo/?spm_id_from=333.999.0.0