XS語法詢問

  •   457 
  • 最後發表   大師  2021 七月 06
大師 發文於   2017/11/19

我要寫一個出場的警示腳本,總共設了5個條件

觸發條件:
條件1+條件2+(條件3,條件4,條件5其中一項)


寫法1:

if 條件1 and 條件2
or 條件3
or 條件4
or 條件5

then ret=1;


寫法2:

if 條件1 and 條件2 and 條件3
then ret=1

else
if 條件1 and 條件2 and 條件4
then ret=1

else
if 條件1 and 條件2 and 條件5
then ret=1;


不知寫法1跟寫法2哪個正確,或是都可以,還是有什麼其它更好更簡潔的寫法?

排序方式: 標準 | 最新
XQ小幫手 發文於   2017/11/20

Hi 大師,

小幫手會這樣寫,您可以試試看這樣是否符合您的需求,謝謝

if 條件1 and 條件2 and (條件3 or 條件4 or 條件5 ) then ...

 

  • 按讚來自於
  • moaibear
大師 發文於   2017/11/20

謝謝!!

  • 按讚來自於
  • b24524658
Eddie Rich 發文於   2021/07/03

搭題問一下XQ大大,有括號跟沒括號有差異嗎? 感謝~

Eddie Rich 發文於   2021/07/03

對了請問一下XQ大大,如果我設定五個條件,

condition1、condition2condition3condition4、condition5

要滿足條件1跟2,但是條件345需至少滿足兩項,應該怎麼寫比較好呢?

 

感謝~~

XQ小幫手 發文於   2021/07/05

Hello Eddie Rich,

 

括號會決定優先順序。

以上面的例子來說

if 條件1 and 條件2 and (條件3 or 條件4 or 條件5 ) then ...

要同時滿足 條件1 and 條件2 and 條件3/條件4/條件5 任一。

if 條件1 and 條件2 and 條件3 or 條件4 or 條件5 then ...

要滿足 條件1 and 條件2 and 條件3 或 條件4 或 條件5。

 

關於您第二個問題,小幫手會這樣作:

if condition3 then value1 = 1 else value1 = 0;

if condition4 then value2 = 1 else value2 = 0;

if condition5 then value3 = 1 else value3 = 0;

if condition1 and condition2 and (value1 + value2 + value3) >= 2 then...

  • 按讚來自於
  • moaibear
Eddie Rich 發文於   2021/07/06

原來括號有這樣的功能,感謝XQ大大

 

第二題還真的沒想過用 else的方式去寫,又學了一招,再次感謝XQ大大~~

發表回覆
Close