模板: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也不會輸出任何數值。
|