#nop vim: set filetype=tt:; /* 本文件属于 PaoTin++ 的一部分。 PaoTin++ © 2020~2023 的所有版权均由担子炮(dzp ) 享有并保留一切法律权利 你可以在遵照 GPLv3 协议的基础之上使用、修改及重新分发本程序。 */ #nop 本文件是 xtintin 的一部分,实现了一些布尔运算函数; ///=== { ///// 布尔运算函数: // // #@ true // 永远为真。 // // #@ false // 永远为假。 // }; #func {true} {#return 1}; #func {false} {#return 0}; ///=== { // #@ isTrue <值> // 判断一个值是否为字符串 true 或者整数值 1,如果是则返回真,否则反之。 // // #@ isFalse <值> // 判断一个值是否为字符串 false 或者整数值 0,如果是则返回真,否则反之。 // }; #func {isTrue} { #if { "%0" == "{true|1}" } { #return 1; }; #else { #return 0; }; }; #func {isFalse} { #if { "%0" == "{false|0}" } { #return 1; }; #else { #return 0; }; }; ///=== { // #@ allTrue <值1> [<值2> ...] // 判断多个值,是否全部为真,如果是则返回真,否则反之。 // }; #func {allTrue} { #local value {}; #foreach {%0} {value} { #if @isFalse{$value} { #return 0; }; }; #return 1; }; ///=== { // #@ allFalse <值1> [<值2> ...] // 判断多个值,是否全部为假,如果是则返回真,否则反之。 // }; #func {allFalse} { #local value {}; #foreach {%0} {value} { #if @isTrue{$value} { #return 0; }; }; #return 1; }; ///=== { // #@ anyTrue <值1> [<值2> ...] // 判断多个值,是否有任意一个为真,如果是则返回真,否则反之。 // }; #func {anyTrue} { #if @allFalse{%0} { #return 0; }; #else { #return 1; }; }; ///=== { // #@ anyFalse <值1> [<值2> ...] // 判断多个值,是否有任意一个为假,如果是则返回真,否则反之。 // }; #func {anyFalse} { #if @allTrue{%0} { #return 0; }; #else { #return 1; }; }; ///=== { // #@ if <条件> <值1> [<值2>] // 三元运算符。判断条件,如果条件成立则给出值1,否则给出值2,如果值2未提供则视同为空字符串。 // }; #func {if} { #local cond {%1}; #local then {%2}; #local else {%3}; #if { $cond } { #return {$then}; }; #else { #return {$else}; }; };