好像 多个互斥分支 if...else if...else 这个结构现在用不了了?

请大家帮我看看,代码如下,我是代码小白,一个很简单的逻辑,用if..else if..else 三个分支控制。但是结果却不是对的。这一点我真的不明白了,根据官方条件控制语句分支的描述,我的代码如下:Params //此处添加参数Vars //此处添加变量 Numeric a; Numeric b;Defs //此处添加公式函数 Events //此处实现事件函数 //初始化事件函数,策略运行期间,首先运行且只有一次 OnInit() { a = -5; } //Bar更新事件函数,参数indexs表示变化的数据源图层ID数组 OnBar(ArrayRef<Integer> indexs) { if(a > 0) b = 1; else if(a < 0) b = -1; else b = 0; Commentary("b = " + text(b)); }我的理解Commentary出b的结果应该等于-1。但事实情况却是0,

花括号呢,可以打开看一下系统策略是怎么用ifelse的

https://www.bilibili.com/video/BV1ZG411f7bt/?spm_id_from=333.999.0.0&vd_source=148cb1d807933f47bb50c46ed69d3c82 看一下零基础课程里关于数据结构的说明

是不是因为a变量没有全局化引起的?

回复:就是这个原因。局部变量的意思就是只在局部域内有效,一般这个域指的是{},跨域不传递内容。

回复:就是这个原因。局部变量的意思就是只在局部域内有效,一般这个域指的是{},跨域不传递内容。