示例中很多自定义函数最后会有Return 0;但是调用的地方又没有需要这个返回值,这个是写法习惯还是语法有要求啊?
仔细看了下,有些不确定,If(tmpInteger != 0) Return tmpInteger;这句用来证明前面的CalcSendOrderPrice函数完成运行了。
这样看还是遇到第一个return就返回?
If(tmpInteger != 0) Return tmpInteger;
如果tmpInteger== 0呢?
老师,这个例子里面作为出错返回的数字是不是可以在调试的时候显示出来?要在调试的时候另外加显示的语句吗?
自己写输出语句
commentary fileappend print 都可以
有多个return应该也不是第一个就退出了,不然下面这个说明书的例子不能正确执行了,老师,下面这个多个返回值的作用是什么啊?
// 以下为开仓操作处理函数
Integer OnEntryStatusNone()//2.2.1 Data1开仓委托
{
tmpInteger = CalcSendOrderPrice(True,orderPrice);// orderPrice 委托单价格
If(tmpInteger != 0) Return tmpInteger;
ArrayClear(entryPairBOrderIds);// entryPairBOrderIds 缓存的 Data1 开仓 OrderIds
If(!Data1.A_SendOrderEx(IIF(SpreadLong,Enum_Sell,Enum_Buy),Enum_Entry,1,orderPrice,entryPairBOrderIds)) Return -4;// SpreadLong True 对价差做多,False 对价差做空
curEntryStatus = 1;// curEntryStatus 当前套利下单的开仓处理状态
Return 0;
}
百度了下Return 0;是c语言的习惯写法表示正常退出。
请问老师,
tb里面子函数里有多个return语句时,是不是执行到第一个return,就退出子函数了?