มอดูล:Yesno
หน้าตา
| มอดูลนี้ถูกจัดอันดับเป็นระดับพร้อมสำหรับการใช้งานทั่วไป ถือว่ามีความเสถียรและมีข้อผิดพลาดน้อย สามารถใช้งานได้ตามวัตถุประสงค์ได้โดยทั่วไป และสามารถกล่าวถึงมอดูลนี้ในหน้าวิธีใช้วิกิพีเดียและทรัพยากรแก้ไขอื่น ๆ สำหรับเป็นตัวเลือกแก่ผู้ใช้ใหม่ และเพื่อป้องกันโหลดเซอร์เวอร์ พิจารณาทดลองหรือพัฒนาในกระบะทรายแทนการแก้ไขโดยตรง |
| ปัจจุบันมอดูลนี้ถูกป้องกันมิให้แก้ไข ดูนโยบายการป้องกันและปูมการป้องกันสำหรับรายละเอียดเพิ่มเติม กรุณาอภิปรายการเปลี่ยนแปลงทางหน้าคุย คุณอาจส่งคำขอแก้ไขเพื่อขอให้ผู้ดูแลระบบเป็นผู้แก้ไขแทนหากไม่เป็นที่ถกเถียงหรือมีความเห็นพ้องสนับสนุนคุณยังสามารถขอให้เลิกป้องกันหน้าได้ |
| มีการใช้มอดูลนี้ ประมาณ 754,000 หน้า หรือประมาณ 63% ของหน้าทั้งหมด เพื่อหลีกเลี่ยงผลกระทบกว้างขวางและลดภาระของเซิร์ฟเวอร์ ดังนั้นก่อนแก้ไขมอดูลนี้จึงควรทดลองที่กระบะทราย หรือหน้าทดสอบ หรือในมอดูลกระบะทรายของคุณเองจนมั่นใจว่าไม่มีข้อผิดพลาด อนึ่ง อภิปรายเกี่ยวกับการแก้ไขมอดูลได้ที่หน้าอภิปรายก่อนที่จะนำไปใช้ |
มอดูลนี้ไว้สำหรับการแปลงค่าเชิงตรรกะต่าง ๆ ให้เป็นค่าความจริงสำหรับใช้ในภาษาลูอาในมอดูลต่าง ๆ
การใช้งาน
local yesno = require("มอดูล:Yesno")
-- ตัวอย่าง
if yesno(frame.args[1]) then
return "แสดงข้อความนี้หากอินพุตเป็นความจริง (ทั้งไทยและอังกฤษ)"
else
return "แสดงข้อความนี้หากอินพุตเป็นเท็จ (ค่าว่างหรืออื่น ๆ)"
end
-- Function allowing for consistent treatment of boolean-like wikitext input.
-- It works similarly to the template {{yesno}}.
return function (val, default)
-- If your wiki uses non-ascii characters for any of "yes", "no", etc., you
-- should replace "val:lower()" with "mw.ustring.lower(val)" in the
-- following line.
val = type(val) == 'string' and val:lower() or val
if val == nil then
return nil
elseif val == true
or val == 'yes'
or val == 'y'
or val == 'true'
or val == 't'
or val == 'on'
or val == 'ใช่'
or val == 'จริง'
or val == 'ถูก'
or tonumber(val) == 1
then
return true
elseif val == false
or val == 'no'
or val == 'n'
or val == 'false'
or val == 'f'
or val == 'off'
or val == 'ไม่'
or val == 'ไม่ใช่'
or val == 'เท็จ'
or val == 'ผิด'
or tonumber(val) == 0
then
return false
else
return default
end
end