首页 > 解决方案 > 我什么时候应该在星号语法中使用 $()?

问题描述

我是星号的新手,我自己学习我在本节中有一些警告......主要问题是()和$$的使用。不知道什么时候用什么时候不用。

same => n,Read(angle,${PATH}/shootingangle,2,,1,5) ;从拨号盘读取 2 位数字到角度

same => n,Set(distance=$[2500*SIN((2*${angle})/(180/3.14159))]) ;根据角度计算距离

相同 => n,ExecIf($[($(distance) <= ${target} + 45)] & $[($(distance) >= ${target} - 45])?Goto(game,7,1 ) ;这就是我遇到问题的地方...

标签: asterisk

解决方案


${something} 在星号中是变量

https://www.voip-info.org/asterisk-variables/

而 () 只是对数学运算进行分组,就像在任何其他技术中一样。

$[] 用于替换。即它评估价值并代替。ExecIf 的结果应该是 1 或 0。

https://www.voip-info.org/asterisk-cmd-execif/

https://www.voip-info.org/asterisk-expressions/

带有 GOTO 的 ExecIf 是非常非常糟糕的做法,你有 GotoIf 应用程序。


推荐阅读