มอดูล:Yesno
นี่เป็นมอดูลที่ถูกป้องกันถาวรเนื่องจากมีความเสี่ยงสูง กรุณาอภิปรายการเปลี่ยนแปลงใด ๆ ทางหน้าคุย คุณอาจส่งคำขอแก้ไขไปยังผู้ดูแลระบบเพื่อให้แก้ไขได้หากเป็นการแก้ไขที่ไม่มีการคัดค้านหรือมีความเห็นพ้องสนับสนุน คุณยังสามารถขอให้เลิกป้องกันหน้าได้ |
มอดูลนี้ต้องได้รับการป้องกัน เป็นมอดูลที่มองเห็นได้ง่ายอันเนื่องมาจากการใช้งานโดยหน้าจำนวนมากหรือมีการแทนที่บ่อยครั้ง การก่อกวนหรือความผิดพลาดจากการแก้ไขจะส่งผลกระทบต่อหลาย ๆ หน้า หรือแม้แต่การแก้ไขเล็กน้อยก็อาจทำให้เซิร์ฟเวอร์ได้รับภาระงานจำนวนมาก จึงต้องได้รับการป้องกันจากการแก้ไข |
มีการใช้มอดูลนี้ ประมาณ 667,000 หน้า หรือประมาณ 60% ของหน้าทั้งหมด เพื่อหลีกเลี่ยงผลกระทบกว้างขวางและลดภาระของเซิร์ฟเวอร์ ดังนั้นก่อนแก้ไขมอดูลนี้จึงควรทดลองที่กระบะทราย หรือหน้าทดสอบ หรือในมอดูลกระบะทรายของคุณเองจนมั่นใจว่าไม่มีข้อผิดพลาด อนึ่ง อภิปรายเกี่ยวกับการแก้ไขมอดูลได้ที่หน้าอภิปรายก่อนที่จะนำไปใช้ |
มอดูลนี้ไว้สำหรับการแปลงค่าเชิงตรรกะต่าง ๆ ให้เป็นค่าความจริงสำหรับใช้ในภาษาลูอาในมอดูลต่าง ๆ
การใช้งาน
local yesno = require("มอดูล:Yesno")
-- ตัวอย่าง
if yesno(frame.args[1]) then
return "แสดงข้อความนี้หากอินพุตเป็นความจริง (ทั้งไทยและอังกฤษ)"
else
return "แสดงข้อความนี้หากอินพุตเป็นเท็จ (ค่าว่างหรืออื่น ๆ)"
end
คู่มือการใช้งานที่ปรากฏด้านบนนี้ดึงมาจาก มอดูล:Yesno/doc (แก้ | ประวัติ) ผู้เขียนสามารถทำการทดลองได้ที่กระบะทราย (สร้าง | คัดลอก) และชุดทดสอบ (สร้าง) ของมอดูลนี้ หน้าย่อยของมอดูลนี้ |
-- 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