合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
# 二元运算 ### 函数原型 ``` if( x , 判断符 , y { 成立返回值 , 不成立返回值 }) 返回: 成立返回值/不成立返回 ``` ### 解译: * `if()` 是函数体,是必须写的 * `x , 判断符 , y` 是表达式,三个值用英文逗号`,`隔开 * `{ 成立返回值 , 不成立返回值 }` 根据表达式返回的值,两个值用英文逗号`,`隔开,并且用花括号`{}`包围 > `x` `y` `成立返回值` `不成立返回值` 都支持函数(具体往下翻,有例子) <br/> | 判断符 | 用处 | | --- | --- | | `>` | `x`大于`y`(只限于数字,小数使用) | | `>=` | `x`大于等于`y`(只限于数字,小数使用) | | `=` 或者 `==` | `x`等于`y`(只限于数字,小数使用) | | `!=` | `x`不等于`y`(只限于数字,小数使用) | | `<=` | `x`小于等于`y`(只限于数字,小数使用) | | `<` | `x`小于`y`(只限于数字,小数使用) | | `equals` |` x`等于`y`(适用于文本比较,区分大小写) | | `!equals` | `x`不等于`y`(适用于文本比较,区分大小写) | | `contains` | `x`包含`y`(适用于文本比较,区分大小写) | | `!contains` | `x`不包含`y`(适用于文本比较,区分大小写) | | `equalsIgnoreCase` | `x`等于`y`(适用于文本比较,不区分大小写) | | `!equalsIgnoreCase` | `x`不等于`y`(适用于文本比较,不区分大小写) | <br/> > 例子: `if(5,>=,1{true,false})` > 表达式`5,>=,1`在逻辑上是成立的,所以返回`成立返回值`也就是`{true,false}`中的`true` > 如果不成立就返回`{true,false}`中的`false` > 跟着老何学编程(狗头) <br/> ***** ### `if`支持`或`和`与`运算 <br/> 与符号写法: `&&` 解释: `当左右两个表达式都成立时,才会成立` 例子: `if( 5 , >= , 1 && 5 , >= , 10 {true,false})` 表达式1`5 , >= , 1`在逻辑上成立 表达式2`5 , >= , 10`在逻辑上不成立 由于中间是`&&`与运算,所以整个表达式不成立,返回`false` > 与运算可以理解成`左边和右边都成立,我才给你成立的返回值,好比喻:冷血无情,铁面无私` <br/> 或符号写法: `||` 解释: `当左右两个表达式有一个成立,我就成立` 例子: `if( 5 , >= , 1 || 5 , >= , 10 {true,false})` 表达式1`5 , >= , 1`在逻辑上成立 表达式2`5 , >= , 10`在逻辑上不成立 由于中间是`||`或运算,所以整个表达式是成立的,返回`true` > 或运算可以理解成`左边和右边有一方是成立的,我就给你成立的返回值,好比喻:通情达理,贤妻良母(狗头)` <br/> > 或与可以加多个,例如`if( 5 , >= , 10 || 5 , >= , 20 || 5 , >= , 30 {true,false})` > 也可以混合使用,例如`if( 50 , >= , 10 && 50 , <= , 100 || 50 , == , 50 {true,false})` > 解释为 50 是否在 10~100 之间,或者等于 50 就成立 > 一般用于等级范围判断,把 50 替换成玩家等级变量就行了 <br/> ***** ### 嵌套函数 > `x` `y` `成立返回值` `不成立返回值` 都支持函数(就是这里了) ``` if( Math.min( %player_level% , 100 ) , = , 100 {true,false}) 其中 "Math.min( %player_level% , 100 )" 就是嵌套的函数 ``` ``` if( %player_level% , >= , 10 { if( %player_level% , >= , 50 {2,1}) ,0}) 其中`if( %player_level% , >= , 50 {2,1})`就是嵌套的函数 解译: 玩家等级大于等于10就进入嵌套函数进行计算, 嵌套函数再次判断玩家等级是否大于50,是的话,就返回 2,不是的话就返回1 如果玩家等级没到10级,嵌套函数不会触发,直接返回 0 ``` <br/><br/> ***** 以下由楼天逆做解释 (q:1106659761) if函数 if(x,>=y{true,false}) x,y可以替换成数字亦或者是属性 举个例子 ``` if(1,>,0{true,false}) 这里我们可以吧这个if函数抛开看 ;【1,>,0】和 【true,false】 我们可以吧上面看成一个解题 【1,>,0】就是题目 【true,false】就是答案 然后就是求题目了 【1,>,0】 很好理解 1>0 是否正确 很明显1必然大于0 那么答案就取true 如果是【0,>,1】 那么就是错误的 会取false 这样 if(1,>,0{true,false}) 很明显 最终取的值就是true ========================================================================================= 此函数用处很广泛 ,举一个最简单的例子 --- 可以在 职业的属性开关内使用 次函数 damage-types: mob: damage: 攻击: if({a.攻击},>=,0{true,false}) 这里的意思就是 当你的攻击大于0时 才会开启攻击的伤害 如果小于0 则不会开启 ```