| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- #nop vim: set filetype=tt:;
- /*
- 本文件属于 PaoTin++ 的一部分。
- PaoTin++ © 2020~2023 的所有版权均由担子炮(dzp <danzipao@gmail.com>) 享有并保留一切法律权利
- 你可以在遵照 GPLv3 协议的基础之上使用、修改及重新分发本程序。
- */
- #nop 本文件是 xtintin 的一部分,实现了一些默认值处理函数。;
- ///=== {
- ///// 默认值处理函数:
- //
- // #@ isEmpty <字符串>
- // 判断字符串是否为空,为空则返回真。
- // };
- #func {isEmpty} {
- #local value {%0};
- #if { "$value" == "" } {
- #return 1;
- };
- #return 0;
- };
- ///=== {
- // #@ default <字符串> <默认值>
- // 判断字符串是否为空,为空则返回默认值。
- // };
- #func {default} {
- #local value {%1};
- #local default {%2};
- #if { @isEmpty{$value} } {
- #return {$default};
- };
- #return {$value};
- };
- ///=== {
- // #@ defaultNum <字符串> <默认值>
- // 如果字符串为空,或者格式不像是一个数值(允许负数、小数)、或者等于 0,则返回默认值。
- // };
- #func {defaultNum} {
- #local value {%1};
- #local default {%2};
- #if { @isEmpty{$value} } {
- #return {$default};
- };
- #if { "$value" != "{-|}%+1..d{|\.\d+}" } {
- #return {$default};
- };
- #if { $value == 0 } {
- #return {$default};
- };
- #return {$value};
- };
- ///=== {
- // #@ isEmptyVar <字符串>
- // 判断参数是否为空,或者变量展开失败。如果是则返回真。
- // };
- #func {isEmptyVar} {
- #local value {%0};
- #if { "$value" == "" } {
- #return 1;
- };
- #if { "$value" == "$%*" } {
- #return 1;
- };
- #return 0;
- };
- ///=== {
- // #@ defaultVar <字符串> <默认值>
- // 判断参数是否为空,或者变量展开失败。如果是则返回默认值。
- // };
- #func {defaultVar} {
- #local value {%1};
- #local default {%2};
- #if { @isEmptyVar{$value} } {
- #return {$default};
- };
- #return {$value};
- };
- ///=== {
- // #@ defaultNumVar <字符串> <默认值>
- // 判断参数是否不像是一个数字,或者变量展开失败。如果是则返回默认值。
- //
- ///// 由于 TinTin++ 的变量展开有个特点,那就是如果不存在变量 foo,则 \$foo 展开的
- ///// 结果并不是空字符串,而是字符串 "\$foo",会导致误以为不是空串。
- ///// 以上三个函数将该情形也视同为空字符串并做相应处理。
- // };
- #func {defaultNumVar} {
- #local value {%1};
- #local default {%2};
- #if { @isEmptyVar{$value} } {
- #return {$default};
- };
- #if { "$value" != "{-|}%+1..d{|\.\d+}" } {
- #return {$default};
- };
- #if { $value == 0 } {
- #return {$default};
- };
- #return {$value};
- };
|