模板:Varlimit
跳到导航
跳到搜索
本模板用于将变量的数值限制在上下界之间。若变量的数值高于上界,使用本模板后变量的数值将变为上界的数值;若变量的数值低于下界,使用本模板后变量的数值将变为下界的数值。
注意:
- 由于本模板只是修改变量的值,若单独调用本模板且不使用echo参数,在正确使用时不应该会有任何可见的效果。若出现错误,则本模板会报错。
- 在内联CSS样式的width、height等属性上不需使用本模板;若需要对width、height等属性限制范围,请使用max-width、min-height等属性。
- 本模板会使用名为“@varlimit-temp”的变量存储中间结果、用名为“@varlimit-error”的变量存储错误信息,请注意可能产生的副作用。若模板报错,本模板保证中间结果变量之外的变量数值不会发生改变。
参数
- 位置参数1:必填。被限制的变量的名字。(只写名字,不要用{{#var:}}套住。简单说来,传名字相当于传指针,套住的话就只是传值,没有意义了。)
- 位置参数2:选填。下界。可以不填或填写空字符串。
- 位置参数3:选填。上界。可以不填或填写空字符串。
- rename:选填。如果希望给被限制后的数值取个新名字而不覆盖原来的变量,就把新名字写在这里。
- echo:选填。设为true时,若参数没有错,会输出被限制后的数值。
- silent:选填。设为true时,若参数有错,将不会显示报错信息。
使用例
{{#vardefine:a|10}}{{varlimit|a|3|5}}{{#var:a}}
→ 5{{#vardefine:a|10}}{{varlimit|a|3}}{{#var:a}}
→ 10{{#vardefine:a|2}}{{varlimit|a|3|5}}{{#var:a}}
→ 3{{#vardefine:a|2}}{{varlimit|a|3|5|echo=true}}
→ 3- 用echo可以直接输出限制后的数值。
{{#vardefine:a|2}}{{varlimit|a||5}}{{#var:a}}
→ 2- 传入空字符串会当作不限制下界。
{{#vardefine:a|2}}{{varlimit|a|3|5|rename=b}}{{#var:a}},{{#var:b}}
→ 2,3- rename的话,{{#var:a}}的数值就不会变了。
{{#vardefine:a|2}}{{varlimit|a|3|五}}{{#var:a}}
→ Varlimit错误:上界并非数值,或数值格式有误。2- 注意{{#var:a}}的数值并不发生改变。
{{#vardefine:a|2}}{{varlimit|a|3|1}}{{#var:a}}
→ Varlimit错误:上界不应低于下界。2- 注意{{#var:a}}的数值并不(ry
{{#vardefine:a|二}}{{varlimit|a|3|5}}{{#var:a}}
→ Varlimit错误:被限制的变量并非数值,或数值格式有误。二- 注意{{#var:a}}的数(ry
{{#vardefine:a|二}}{{varlimit|a|三|五|silent=true}}{{#var:a}}
→ 二- 报错信息闭嘴了。注意{{#var:a(ry
{{#vardefine:a|二}}{{varlimit|a|三|五|silent=true|echo=true}}
→- 虽然闭嘴了,但是错误还在,因此echo也不会输出任何数值。
|