ไร้สาระนุกรม:การเขียนโค้ดขั้นสูง
![]() |
(ฝากรบกวนผู้มีจิตศรัทธามาเขียนต่อด้วย เดี๋ยวไอ้คนเขียนก็มาเองจ้ะ) |
![]() |
![]() |
ข้อมูลบางส่วนอาจไม่ทันสมัย คุณสามารถดูรายละเอียดเพื่มเติมได้ที่ บอร์ด:MediaWiki 1.35
|
สำหรับวิธีการเขียนโค้ดที่เกี่ยวกับแม่แบบโดยเฉพาะ ให้ดูที่ ไร้สาระนุกรม:วิธีการสร้างแม่แบบ
ในไร้สาระนุกรมนั้น สามารถใช้ลูกเล่นในหน้าหรือบทความได้หลากหลายรูปแบบ รวมทั้งโค้ดขั้นสูงด้วย โดยที่โค้ดขั้นสูงจะช่วยให้หน้า หรือแม่แบบเกิดอภินิหารอย่างน่าเหลือเชื่อได้ หน้านี้จะกล่าวถึงวิธีการเขียนโค้ดขั้นสูง และความหมายของแต่ละโค้ด
เริ่มเขียนโค้ดขั้นสูง
สำหรับท่านที่ถอดใจกับโค้ดขั้นสูง เราขอบอกว่ามันไม่ได้ซับซ้อนอะไรเลย โค้ดเหล่านี้สามารถเขียนที่ไหนก็ได้ในทุกหน้าที่ต้องการ ไม่จำเป็นต้องเขียนเฉพาะในแม่แบบ
ในโค้ดขั้นสูงนั้น มีวิธีการเขียนแบบเดียวกับข้อความทั่วไป โดยก่อนที่คุณจะเริ่มเขียนโค้ดขั้นสูง คุณควรจะศึกษาวิธีการเขียนข้อความในไร้สาระนุกรมก่อน ที่ ไร้สาระนุกรม:เริ่มเขียนบทความในไร้สาระนุกรม
เบ็ดเตล็ด
ต้องการ | คำสั่ง | ผลที่แสดง | หมายเหตุ |
---|---|---|---|
เปลี่ยนทาง | #REDIRECT[[ชื่อบทความ]] |
โค้ดนี้ต้องใส่ไว้ตอนบนสุดของบทความ ดูข้อมูลเพิ่มเติมที่ ไร้สาระนุกรม:หน้าเปลี่ยนทาง | |
แสดงชื่อภาษาโดยรหัสภาษาที่คุณระบุ(ภาษาในเครือข่ายไร้สาระนุกรม) | {{#language:th}} {{#language:zh}} th และ zh คือรหัสภาษาที่ระบุ(ภาษาเทยและจีนกลาง ตามลำดับ) |
ไทย 汉语 | |
แสดงภาษาที่เว็บนี้ใช้ | {{CONTENTLANG}} {{#language: {{CONTENTLANG}} }} |
th ไทย | |
แสดงชื่อเว็บ | {{SITENAME}} |
ไร้สาระนุกรม | สำหรับเว็บนี้จะแสดง ไร้สาระนุกรม เสมอ |
แสดงชื่อหน้าพิเศษตามระบบ[1] | {{#special:recentchanges}} recentchanges คือชื่อหน้าพิเศษที่ระบุ |
พิเศษ:ปรับปรุงล่าสุด | |
เรียกใช้แท็ก | {{#tag:tagname}} และ{{#tag:tagname|...}} |
ฟังก์ชั่นนี้จะเหมือนการใช้แท็กทั่วไป เช่น {{#tag:tagname}} จะได้<tagname /> | |
แสดงเวอร์ชันของมีเดียวิกิที่ไร้สาระนุกรมกำลังใช้อยู่ในขณะนี้ | {{CURRENTVERSION}} |
1.35.0 | |
แสดงตัวแปรระบบของไร้สาระนุกรม ตามที่ระบุ | {{#arg:action|ไม่มีตัวแปรนี้}}
|
{{#arg:action|ไม่มีตัวแปรนี้}} |
รูปแบบข้อมูลและการแสดงผล
1 โดยปกติแล้ว สารบัญจะแสดงก็ต่อเมื่อมีหัวเรื่องรอง(หัวเรื่องอันดับสอง) มากกว่า 3 หัวเรื่อง และจะแสดง ถัดจากเนื้อหาในส่วนแรกสุด โดยฟังก์ชั่นทั้งสองจะขัดกับกฏข้างต้น
(ทั้งนี้ก็ขึ้นอยู่กับการตั้งค่าส่วนตัวด้วย)
ต้องการ | คำสั่ง | ผลที่แสดง | หมายเหตุ |
---|---|---|---|
การตั้งค่าหน้า | |||
ซ่อนสารบัญ1 | __NOTOC__ |
สารบัญจะไม่แสดงเลย ถึงแม้จะมีหัวเรื่องรองครบ 3 หัวเรื่องแล้วก็ตาม | |
แสดงสารบัญโดยแสดงที่ตำแหน่งอื่นๆ1 | __TOC__ |
![]() |
สารบัญจะแสดงตลอด ตามตำแหน่งที่วางโค้ดนี้ไว้ และไม่จะเป็นต้องมีหัวเรื่องรองครบ 3 อัน |
แสดงสารบัญโดยแสดงที่ตำแหน่งปกติของมัน1[2] | __FORCETOC__ |
สารบัญจะแสดงตลอด ตามตำแหน่งปกติ(ต่อจากส่วนแรกสุดของหน้า) และไม่จะเป็นต้องมีหัวเรื่องรองครบ 3 อัน | |
ซ่อนลิงก์แก้ไขเฉพาะส่วน | __NOEDITSECTION__ |
ไม่มีการแสดงผลอื่นๆ ปรากฏ เช่นเดียวกับการซ่อนสารบัญ | |
เพิ่มปุ่ม + สำหรับสร้างหัวข้อใหม่ | __NEWSECTIONLINK__ |
สามารถดูตัวอย่างที่หน้าพูดคุย โดยจะมีปุ่ม + อยู่ใกล้ๆกับปุ่มแก้ไข | |
ซ่อนปุ่ม + สำหรับสร้างหัวข้อใหม่ในหน้าพูดคุย | __NONEWSECTIONLINK__ |
ใช้ในหน้าพูดคุย ปุ่ม + จะไม่ปรากฏขึ้น | |
ซ่อนหน้านี้จากการค้นหา | __NOINDEX__ |
หน้าที่มีโค้ดนี้อยู่จะไม่ปรากฏในผลการค้นหา | |
กำหนดคำสำคัญให้กับหน้านี้ | {{DEFAULTSORT:คำสำคัญ}} |
มีผลเหมือนกับการกำหนด [[หมวดหมู่:<ชื่อหมวดหมู่>|<คำสำคัญ>]] แต่การกำหนดด้วยคำสั่งนี้จะมีผลต่อทุกๆ หมวดหมู่ โดยที่ไม่ต้องกำหนดซ้ำ
| |
เปลี่ยนชื่อแสดงผลของหน้านี้ | มีวิธีการใช้งานดังนี้ : {{DISPLAYTITLE:ชื่อหน้าที่ต้องการ}} อย่างเช่น {{DISPLAYTITLE:{{PAGENAME}} (คู่มือ)}} |
ชื่อหน้าที่แสดงผลจะเปลี่ยนไปตามที่กำหนด |
ไม่ใช่การเปลี่ยนชื่อหน้าจริงๆ แต่เป็นการเปลี่ยนชื่อหน้าเฉพาะในการแสดงผลเท่านั้น |
เปลี่ยนโลโก้ไร้สาระนุกรมให้กับหน้านี้ | มีวิธีการใช้งานดังนี้ : {{ProjectLogo|URL ของไฟล์ภาพนั้นๆ}} อย่างเช่น {{ProjectLogo|http://upload.wikimedia.org/wikipedia/commons/7/70/Example.png}} |
![]() |
ไม่ใช่การเปลี่ยนโลโก้ของระบบไร้สาระนุกรมจริงๆ แต่เป็นการเปลี่ยนโลโก้เฉพาะในการแสดงผลเท่านั้น |
กำหนดคำสำคัญเพื่อการจัดอันดับของเซิร์ซเอนจิน | <keywords content="คำสำคัญ" /> |
ไม่มีการแสดงผลอื่นๆ" | เซิร์ซเอนจินโดยทั่วไปแล้วจะจัดอันดับจากคำสำคัญที่กำหนด การกำหนดด้วยแท็กนี้ก็จะเป็นการกำหนดคำสำคัญให้เซิร์ซเอนจินทราบ เพื่อการจัดอันดับการค้นหา (ในทางเทคนิก แท็กนี้จะถูกแปลเป็น HTML ในรูป |
ตั้งค่าหมวดหมู่ | |||
ซ่อนการแสดงผลหมวดหมู่นี้ในหน้าบทความ | __HIDDENCAT__ |
หมวดหมู่ที่มีโค้ดนี้อยู่ จะไม่ปรากฏชื่อที่รายการหมวดหมู่ ในหน้าหรือบทความที่อยู่ในหมวดหมู่นี้ | |
เปลี่ยนการแสดงผลรายการรูปภาพหรือสื่อในหมวดหมู่ให้กลายเป็นรายการลิงก์แทน | __NOGALLERY__ |
||
การแปลงข้อความ | |||
เปลี่ยนเป็นตัวพิมพ์เล็กทั้งหมด ในข้อความภาษาปะกิด3 | {{lc:MESSage}} |
message | |
เปลี่ยนเป็นตัวพิมพ์เล็กที่ตัวอักษรแรก ในข้อความภาษาปะกิด3 | {{lcfirst:MESSAGE}} |
mESSAGE | |
เปลี่ยนเป็นตัวพิมพ์ใหญ่ทั้งหมด ในข้อความภาษาปะกิด3 | {{uc:message}} |
MESSAGE | |
เปลี่ยนเป็นตัวพิมพ์ใหญ่ที่ตัวอักษรตัวแรก ในข้อความภาษาปะกิด3 | {{ucfirst:message}} |
Message | |
จัดกลุ่มหลักตัวเลข | {{formatnum:11111111111111.0000000}} |
11,111,111,111,111.0000000 | |
ยกเลิกการจัดกลุ่มหลักตัวเลข | {{formatnum:11,111,111,111,111.0000000|R}} |
11111111111111.0000000 | |
แสดงข้อความตามจำนวน(เอกพจน์และพหูพจน์) | {{plural:2|is|are}} 2 คือจำนวน, is คือคำที่จะแสดงเมื่อจำนวนเท่ากับ 1(เอกพจน์) และ are คือคำที่จะแสดงเมื่อจำนวนมากกว่า 1(พหูพจน์) |
are | |
อื่นๆ | |||
ยกเลิกการย่อหน้า | <div>ข้อความ</div> |
ข้อความ |
แสดงผลให้ชัดเจนได้ในบทความปกติ อนึ่ง ข้อความที่ต่อท้ายจาก จะถูกตัดไปอยู่บรรทัดใหม่
|
แทรกสไตล์ชีต(CSS) ลงในหน้า | <css>โค้ดสไตล์ชีต</css> |
จะไม่มีการแสดงผลออกมาเลย | การใช้งานคล้ายกับการแทรกลงในไฟล์(เช่น Common.css) แต่สามารถใช้ได้ในเฉพาะหน้าที่ใส่โค้ดนี้เท่านั้น(จะต่างจากการแทรกลงในมีเดียวิกิ คือ สามารถใช้ได้ในทุกหน้า) |
การทำงานเกี่ยวกับภาพ
ในไร้สาระนุกรมมีฟังก์ชั่น และแท็กสำหรับทำงานเกี่ยวกับรูปภาพอยู่หลายตัว ซึ่งก็สามารถนำมาเลือกใช้ได้ตามความต้องการ ต่อไปนี้จะอธิบายถึงการใช้งานฟังก์ชั่นต่างๆ
- ทำให้ภาพหรือไอคอนมีลิงก์
สามารถทำได้โดยใช้ฟังก์ชั่น {{#icon:}} ซึ่งมีพารามิเตอร์(สิ่งที่ต้องกำหนด)อยู่ 4 ตัว ดังนี้
{{#icon: ชื่อไฟล์ภาพ | คำอธิบายของภาพ | ขนาดภาพ | หน้าที่จะลิงก์ไปถึง }}
- ชื่อไฟล์ภาพ ชื่อไฟล์ของภาพที่อัปโหลดบนไร้สาระนุกรม(ไม่ใช่ไฟล์จากเว็บอื่น) ไม่ต้องมีกลุ่มชื่อ(อย่างเช่น "ไฟล์:", "ภาพ:")นำหน้า
- คำอธิบายของภาพ เป็นข้อความที่จะปรากฏเมื่อนำเมาส์ไปชี้(ศัพท์คนมีการศึกษาเรียกว่า ทูลทิป) ในลักษณะเดียวกับแม่แบบ {{T}}
- ขนาดภาพ ขนาดของภาพ มีหน่วยเป็นพิกเซล รูปแบบคือ ##px
- เมื่อละเว้น ฟังก์ชั่นนี้จะใช้ขนาดภาพตามค่าตั้งต้น
- หน้าที่จะลิงก์ไปถึง ชื่อหน้าบนไร้สาระนุกรมที่ต้องการให้ภาพนี้ลิงก์ไป
ค่าเหล่านี้สามารถละเว้นบางตัวได้ ยกเว้นชื่อไฟล์ภาพ เมื่อละเว้น ฟังก์ชั่นจะใช้ค่าที่เหมาะสมตามนั้น
ตัวอย่างเช่น :
คำสั่ง | ผลที่แสดง |
---|---|
{{#icon: Example.png }} แสดงรูปภาพเฉยๆ (จะไม่มีการสร้างลิงก์) |
{{#icon: Example.png }} |
{{#icon: Example.png | คำอธิบายภาพ }} แสดงรูปภาพแบบมีคำอธิบายภาพ |
คำอธิบายภาพ }} |
{{#icon: Example.png | คำอธิบายภาพ | 100px }} แสดงรูปภาพแบบมีคำอธิบายภาพ และกำหนดขนาดภาพ |
คำอธิบายภาพ | 100px }} |
{{#icon: Example.png | คำอธิบายภาพ | 100px | ไร้สาระนุกรม:สนทนาปัญหาโลกแตก }} เพิ่มลิงก์ไปยังหน้า ไร้สาระนุกรม:สนทนาปัญหาโลกแตก |
คำอธิบายภาพ | 100px | ไร้สาระนุกรม:สนทนาปัญหาโลกแตก }} |
ข้อมูลเกี่ยวกับหน้า
สำหรับข้อมูลหน้าได้แก่ ชื่อหน้า, สถิติเกี่ยวกับหน้า จะกล่าวถึงในหมวดหมู่ที่เกี่ยวข้องนั้นๆ แทน
ต้องการ | คำสั่ง | ผลที่แสดง | หมายเหตุ |
---|---|---|---|
แสดงผู้ใช้ที่แก้ไขหน้านี้ครั้งล่าสุด | {{REVISIONUSER}} |
Opecuted | |
แสดงรุ่นการแก้ไขครั้งล่าสุดของหน้านี้ | {{REVISIONID}} |
277177 | |
แสดงระดับการล็อกของหน้านี้(ล็อกการแก้ไข)1 | {{PROTECTIONLEVEL:edit}} |
autoconfirmed | |
แสดงระดับการล็อกของหน้านี้(ล็อกการเปลี่ยนชื่อ)1 | {{PROTECTIONLEVEL:move}} |
autoconfirmed |
1 ฟังก์ชั่นเหล่านี้จะคืนค่าออกมาได้ 2 อย่าง ดังต่อไปนี้
- autoconfirmed กึ่งล็อก (ผู้ใช้ที่ลงทะเบียนแล้วยังสามารถแก้ไขหรือเปลี่ยนชื่อได้)
- sysop ล็อกเต็มรูปแบบ(ผู้ดูแลระบบสามารถแก้ไขได้เท่านั้น)
อนึ่ง ฟังก์ชั่นนี้จะไม่ส่งค่าออกมาถ้าหน้านี้ไม่ได้มีการล็อก
ข้อมูลเกี่ยวกับผู้ใช้
ต้องการ | คำสั่ง | ผลที่แสดง | หมายเหตุ |
---|---|---|---|
แสดงหมายเลขไอพีของผู้ใช้นี้ | {{#ip:}} |
3.239.236.140 | |
แสดงชื่อรูปแบบหน้าตา(Skin) ที่ผู้ใช้นี้เลือกใช้ | {{#skin:}} |
{{#skin:}} | |
แสดงเพศของผู้ใช้ที่กำหนด | {{gender:Sahayfont
|
สหายฟอนต์ไม่ได้ระบุเพศไว้ | |
แสดงจำนวนการแก้ไขของผู้ใช้ที่กำหนด |
Sahayfont คือชื่อผู้ใช้ที่กำหนด
|
{{#editcount:Sahayfont|0}} {{#editcount:Sahayfont}} |
วันที่และเวลา[4][5]
การแสดงวันที่โดยใช้โค้ดวิกิจะมีระบบวันที่ 2 แบบ คือ วันที่ปัจจุบัน และ วันที่แก้ไขล่าสุดของบทความ
วันที่ปัจจุบัน
คำอธิบาย | คำสั่ง | ผลที่แสดง | หมายเหตุ |
---|---|---|---|
ปี | |||
ปี | {{CURRENTYEAR}} |
2021 | |
เดือน | |||
เลขเดือน(มีเลขศูนย์) | {{CURRENTMONTH}} |
01 | |
ชื่อเดือน | {{CURRENTMONTHNAME}} |
มกราคม | |
ชื่อเดือน(แบบย่อ) | {{CURRENTMONTHABBREV}} |
ม.ค. | |
วัน | |||
เลขวันภายในเดือน | {{CURRENTDAY}} |
15 | |
เลขวันภายในเดือน(2 หลัก) | {{CURRENTDAY2}} |
15 | |
เลขวันภายในสัปดาห์ | {{CURRENTDOW}} |
5 | นับเริ่มจากวันอาทิตย์ โดยเริ่มที่เลข 0 |
ชื่อวัน | {{CURRENTDAYNAME}} |
วันศุกร์ | |
เวลา | |||
เวลา | {{CURRENTTIME}} |
23:39 | แสดงผลแบบ 24 ชั่วโมง(รูปแบบ "hh:mm") |
ชั่วโมง | {{CURRENTHOUR}} |
23 | แสดงผลแบบ 24 ชั่วโมง(ตัวเลขสองหลัก) |
นาที1 | {{#time:i}} |
39 | แสดงผลเริ่มจาก 00 จนถึง 59(สองหลัก) |
วินาที1 | {{#time:s}} |
35 | แสดงผลเริ่มจาก 00 จนถึง 59(สองหลัก) |
1 สำหรับฟังก์ชั่น #time จะกล่าวต่อจากนี้
ฟังก์ชั่นตามที่กล่าวมาจะแสดงเวลาตามเวลาสากลเชิงพิกัด ถ้าต้องการแสดงเวลาท้องถิ่น(ตามการตั้งค่าส่วนตัวของแต่ละผู้ใช้) ให้ใช้คำว่า "LOCAL" แทน "CURRENT" เช่น
{{LOCALTIME}}
= 06:39{{LOCALHOUR}}
= 06
สำหรับ {{#time:}} ให้เปลี่ยนเป็น {{#timel:}} แทน ซึ่งจะแสดงเวลาท้องถิ่นเช่นเดียวกัน
{{#timel:i}}
= 39{{#timel:s}}
= 35
เวลาแก้ไขล่าสุด
คำอธิบาย | คำสั่ง | ผลที่แสดง | หมายเหตุ |
---|---|---|---|
ปี | {{REVISIONYEAR}} |
2020 | |
เดือน | {{REVISIONMONTH}} |
11 | แสดงผลเป็นเลข |
วัน | {{REVISIONDAY}} |
21 | |
วัน(สองหลัก) | {{REVISIONDAY2}} |
21 | |
Time Stamp | {{REVISIONTIMESTAMP}} |
20201121133712 |
สถิติ
ฟังก์ชั่นสถิติจะแสดงผลออกมาเป็นตัวเลข โดยที่จะจัดรูปแบบหลักของตัวเลข (เช่น 34,562) การยกเลิกจัดรูปแบบสามารถทำได้ดังนี้[6]
- เพิ่ม :R เข้าไปหลังชื่อฟังก์ชั่น เช่น {{NUMBEROFPAGES:R}} = 34562
- เพิ่ม |R เข้าไปหลังค่าที่ระบุ เช่น {{PAGESIZE:ปังย่า|R}} = 79714
คำอธิบาย | คำสั่ง | ผลที่แสดง | หมายเหตุ |
---|---|---|---|
สถิติของระบบโดยรวม | |||
จำนวนหน้าทั้งหมด | {{NUMBEROFPAGES}} |
34,562 | |
จำนวนบทความ(หน้าในเนมสเปซหรือกลุ่มชื่อ หลัก) | {{NUMBEROFARTICLES}} |
3,869 | |
จำนวนไฟล์ที่อัปโหลด | {{NUMBEROFFILES}} |
12,114 | |
จำนวนครั้งที่มีการแก้ไขทั้งหมดในระบบ | {{NUMBEROFEDITS}} |
278,413 | |
จำนวนผู้ใช้ที่ลงทะเบียนแล้ว | {{NUMBEROFUSERS}} |
3,482 | |
จำนวนผู้ดูแลระบบ(ผู้ใช้ที่ได้รับสิทธิ sysop และ bureaucrat) | {{NUMBEROFADMINS}} |
16 | |
จำนวนผู้ใช้ที่กำลังใช้ไร้สาระนุกรม และเคยใช้แล้วภายใน 30 วัน | {{NUMBEROFACTIVEUSERS}} |
23 | (ยังไม่พร้อมใช้งาน) |
จำนวนครั้งที่เข้าชมหน้าต่างๆ ในไร้สาระนุกรม รวมกันทั้งหมด | {{NUMBEROFVIEWS}} |
แม่แบบ:NUMBEROFVIEWS | |
สถิติอื่นๆ | |||
จำนวนหน้าในกลุ่มชื่อที่ระบุ | {{PAGESINNS:1}} 1 คือหมายเลขกลุ่มชื่อที่ระบุ(ในที่นี้เป็นกลุ่มชื่อ พูดคุย) ฟังก์ชั่นนี้ต้องระบุกลุ่มชื่อเป็นตัวเลขเท่านั้น |
874 | |
จำนวนหน้าในหมวดหมู่ที่ระบุ | {{PAGESINCAT:ชาวเกรียน}} ชาวเกรียน คือชื่อหมวดหมู่ที่ระบุ |
206 | |
ขนาดของหน้าที่ระบุ(แสดงผลเป็นไบต์) | {{PAGESIZE:เกรียน}} 'เกรียน คือหน้าที่ระบุ |
79,967 | |
จำนวนผู้ใช้ในกลุ่มผู้ใช้ที่กำหนด | {{NUMBERINGROUP:checkuser}} checkuser คือกลุ่มผู้ใช้ที่ระบุ(กลุ่มผู้ใช้ที่มีตาปีศาจ) |
14 |
ชื่อและการอ้างถึง
คำอธิบาย | คำสั่ง | ผลที่แสดง | หมายเหตุ |
---|---|---|---|
ทั่วไป | |||
ชื่อหน้านี้(ไม่แสดงกลุ่มชื่อ) | {{PAGENAME}} |
การเขียนโค้ดขั้นสูง | ถ้าหน้าปัจจุบันเป็นหน้าย่อย เช่น ns:x/y จะแสดงผล x/y |
ชื่อเต็มของหน้านี้(แสดงกลุ่มชื่อ) | {{FULLPAGENAME}} |
ไร้สาระนุกรม:การเขียนโค้ดขั้นสูง | |
ชื่อเต็มของหน้านี้ | {{#arg:title}} |
{{#arg:title}} | จะแตกต่างกับฟังก์ชั่น {{FULLPAGENAME}} ตรงที่ว่า ถ้าหน้าปัจจุบันนั้นเปลี่ยนทางมาจากหน้าอื่น จะแสดงชื่อหน้าที่หน้าปัจจุบัน ได้เปลี่ยนทางมา |
กลุ่มชื่อของหน้า | {{NAMESPACE}} |
ไร้สาระนุกรม | |
การอ้างถึงหน้าเนื้อหา | |||
กลุ่มชื่อ1 | {{SUBJECTSPACE}} |
ไร้สาระนุกรม | ถ้าหน้าปัจจุบันเป็น คุยเรื่องแม่แบบ:x จะแสดง แม่แบบ |
ชื่อหน้า1 | {{SUBJECTPAGENAME}} |
ไร้สาระนุกรม:การเขียนโค้ดขั้นสูง | ถ้าหน้าปัจจุบันเป็น คุยเรื่องแม่แบบ:x จะแสดง แม่แบบ:x |
การอ้างถึงหน้าพูดคุย | |||
ชื่อหน้าพูดคุย2 | {{TALKPAGENAME}} |
คุยเรื่องไร้สาระนุกรม:การเขียนโค้ดขั้นสูง | |
กลุ่มชื่อของหน้าพูดคุย2 | {{TALKSPACE}} |
คุยเรื่องไร้สาระนุกรม | |
ระบบหน้าย่อย(Sub Page) | |||
ชื่อหน้าย่อยปัจจุบัน3 | {{SUBPAGENAME}} |
การเขียนโค้ดขั้นสูง | ถ้าหน้าปัจจุบันเป็น ns:x/y จะแสดง y |
ชื่อหน้าราก3 | {{BASEPAGENAME}} |
การเขียนโค้ดขั้นสูง | ถ้าหน้าปัจจุบันเป็น ns:x/y จะแสดง x |
1 ฟังก์ชั้นเหล่านั้นจะเห็นผลได้ชัดเมื่อใช้ในหน้าพูดคุย
2 ฟังก์ชั้นเหล่านั้นจะเห็นผลได้ชัดเมื่อใช้ในหน้าเนื้อหา
3 ฟังก์ชั่นเหล่านั้นจะเห็นผลได้ชัดเมื่อใช้ในหน้าย่อย
ฟังก์ชั่นข้างต้นเหล่านี้จะแสดงผลข้อมูลสำหรับหน้าปัจจุบัน(โดยปกติ) สำหรับการใช้การเข้ารหัสยูอาร์แอล(URL-encoding) สามารถทำได้โดยการเติม E เข้าไปที่หลังชื่อฟังก์ชั่น เช่น {{FULLPAGENAMEE}} = ชี้เมาส์ที่นี่
นอกจากนี้ เราสามารถกำหนดชื่อหน้าที่ต้องการให้กับฟังก์ชั่นเหล่านี้ได้(ไม่ใช่ {{#arg:title}}) เพื่อให้ฟังก์ชั่นข้างต้นแสดงข้อมูลสำหรับหน้าที่ระบุ แทนที่จะเป็นของหน้านี้ อย่างเช่น
{{TALKPAGENAME:ไร้สาระนุกรม}}
= พูดคุย:ไร้สาระนุกรม{{TALKSPACE:ไร้สาระนุกรม}}
= พูดคุย{{BASEPAGENAME: ผู้ใช้:Gothichaos/อาณาจักรไร้สาระนุกรม }}
= Gothichaos
การดัดแปลงชื่อ
ฟังก์ชั่น {{#rel2abs:}}
ฟังก์ชั่นนี้ใช้เปลี่ยนชื่อหน้าย่อย(เช่น "/x") เป็นชื่อหน้าเต็ม ลองดูตัวอย่างดังต่อไปนี้
- ถ้าฟังก์ชั่นนี้ใช้อยู่ในหน้า ns:a/b เมื่อใช้
{{#rel2abs:/w}}
จะแสดง ns:a/b/w - ถ้าฟังก์ชั่นนี้ใช้อยู่ในหน้า ns:a/b เมื่อใช้
{{#rel2abs:../w}}
จะแสดง ns:a/w
ฟังก์ชั่น {{#titleparts:}}[7]
นี่คือฟังก์ชั่นสำหรับแสดงชื่อหน้าย่อยตามจำนวนที่ต้องการ โดยมีหลักการตาม "ระบบหน้าย่อย" โดยมีเครื่องหมาย "/" เป็นตัวแบ่ง ฟังก์ชั่นนี้มีการใช้งาน 2 แบบ การใช้งานแบบแรกคือการแสดงผลหน้าย่อยตามจะนวนที่ต้องการโดยเริ่มจากทางด้านซ้าย และแบบที่สองจะการแสดงหน้าย่อยที่ต้องการโดยกำหนดหน้าย่อยแรก และหน้าย่อยสุดท้ายที่ต้องการ
การใช้งานแบบแรก
{{#titleparts: ชื่อหน้า(หน้าใดก็ได้) | จำนวนหน้าย่อยที่ต้องการแสดง(ระบุเป็นเลข) }}
อย่างเช่น
{{#titleparts: ns:a/b/c/d/e | 1 }}
= Ns:a{{#titleparts: ns:a/b/c/d/e | 2 }}
= Ns:a/b{{#titleparts: ns:a/b/c/d/e | 3 }}
= Ns:a/b/c
จากตัวอย่างข้างต้น จะเป็นการกำหนดชื่อหน้าในพารามิเตอร์ที่ 1 และกำหนดจำนวนหน้าย่อยที่จะแสดงลงในพารามิเตอร์ที่ 2 ให้กับฟังก์ชั่นนี้ ฟังก์ชั่นนี้จะคืนค่าเป็นชื่อหน้าย่อยเป็นจำนวนตามที่กำหนด แต่ทั้งนี้การกำหนดจำนวนหน้าย่อยเป็น 0 ไม่ได้หมายความว่าฟังก์ชั่นนี้จะไม่แสดงชื่อหน้าออกมาเลย แต่ฟังก์ชั่นจะเข้าใจว่าเราไม่ได้ทำการกำหนดค่าในพารามิเตอร์ที่ 2 ไว้ ซึ่งจะได้ผลตามตัวอย่างด้านล่างนี้
{{#titleparts: ns:a/b/c/d/e | 0 }}
= Ns:a/b/c/d/e{{#titleparts: ns:a/b/c/d/e }}
= Ns:a/b/c/d/e
จะเห็นว่า ทั้งสองตัวอย่างด้านบน จะได้ผลเหมือนกัน
การใช้งานแบบที่สอง
{{#titleparts: ชื่อหน้า(หน้าใดก็ได้) | จำนวนหน้าย่อยที่จะแสดง | เลขลำดับหน้าย่อยที่ต้องการแสดง }}
ฟังก์ชั่นนี้มีประโยชน์ในการกำหนดช่วงของชื่อหน้าย่อยที่จะแสดง อย่างเช่นเราต้องการจะแสดงหน้าย่อยของหน้า ns:a/b/c/d/e โดยกำหนดช่วงเป็น(ตามที่ขีดเส้นใต้) ns:a/b/c/d/e เราก็สามารถใช้ฟังก์ชั่นได้ดังนี้
{{#titleparts: ns:a/b/c/d/e | 3 | 2 }}
- 3 คือจำนวนหน้าย่อยที่ต้องการแสดง เนื่องจากตามตัวอย่างนี้ต้องการแสดงผลหน้าย่อยตามที่ขีดเส้นใต้ไว้ ซึ่งเป็น 3 หน้าย่อย
- 2 คือเลขลำดับหน้าย่อยที่ต้องการแสดง("b" คือหน้าย่อยที่ 2 เมื่อกำหนดในพารามิเตอร์ที่สองเป็น "3" ฟังก์ชั่นนี้จะแสดงหน้าย่อยออกมา 3 หน้าถัดจาก b)
- จากตัวอย่างข้างต้น จะได้ b/c/d
ลิงก์และที่อยู่
คำอธิบาย | คำสั่ง | ผลที่แสดง | หมายเหตุ |
---|---|---|---|
ที่อยู่ของเว็บนี้ | {{SERVER}} |
//th.uncyclopedia.info | |
โดเมนเนม ของเว็บนี้ | {{SERVERNAME}} |
th.uncyclopedia.info | |
ที่อยู่ของเว็บนี้ | {{SERVER}} |
//th.uncyclopedia.info | |
ที่อยู่ภายใน | {{localurl:ชื่อหน้า|ข้อความต่อท้าย}} |
/index.php?title=%E0%B8%8A%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%AB%E0%B8%99%E0%B9%89%E0%B8%B2&ข้อความต่อท้าย |
|
ที่อยู่เต็ม | {{fullurl:ชื่อหน้า|ข้อความต่อท้าย}} |
//th.uncyclopedia.info/index.php?title=%E0%B8%8A%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%AB%E0%B8%99%E0%B9%89%E0%B8%B2&ข้อความต่อท้าย |
|
การเข้ารหัสยูอาร์แอล | |||
เข้ารหัสยูอาร์แอล 1(เข้ารหัสแบบทั่วไป) | {{urlencode:ข้อ ความ}} |
%E0%B8%82%E0%B9%89%E0%B8%AD+%E0%B8%84%E0%B8%A7%E0%B8%B2%E0%B8%A1 | ช่องวรรค จะถูกเปลี่ยนเป็น "+" |
เข้ารหัสยูอาร์แอล 2(เข้ารหัสแบบตัวบอกตำแหน่งในเพจ) | {{anchorencode:ข้อ ความ}} |
.E0.B8.82.E0.B9.89.E0.B8.AD_.E0.B8.84.E0.B8.A7.E0.B8.B2.E0.B8.A1 | ช่องวรรค จะถูกเปลี่ยนเป็น "_" |
การสุ่ม
คำอธิบาย | คำสั่ง | ผลที่แสดง | หมายเหตุ |
---|---|---|---|
สุ่มตัวเลข[8] | {{#rand:1|8}} ในที่นี้เป็นการสุ่มเลข 1 ถึง 8 |
8}} | |
การสุ่มข้อความ/โค้ด | <choose>
<option>ค่า1</option>
<option>ค่า2</option>
<option>ค่า3</option>
...
...
</choose>
|
ค่า1 |
การตรวจสอบโดยเงื่อนไข[9]
ฟังก์ชั่นที่ใช้ในการตรวจสอบค่าจะสามารถตรวจสอบค่าของตัวแปร ตัวแปรอัตโนมัติ หรือค่าที่ผู้ใช้กำหนดเองได้
ตรวจสอบว่ามีค่าส่งออกมาหรือไม่
{{#if:ค่า|ส่วนที่ 1|ส่วนที่ 2}}
สำหรับส่วนที่ 1 นั้น ค่าในส่วนที่ 1 จะแสดงออกมาจากฟังก์ชั่นเมื่อ "ค่า" มีค่าอยู่จริง สำหรับส่วนที่ 2 ค่าในส่วนนี้จะแสดงออกมาเมื่อ "ค่า" เป็นค่าว่างหรือไม่มีค่า ในส่วนนี้จะใส่หรือไม่ใส่ก็ได้ ถ้าไม่ใส่ เมื่อฟังก์ชั่นแสดงส่วนนี้ออกมาจะมีแต่ความว่างเปล่า
ดูตัวอย่างต่อไปนี้
{{#if:กขคง|ลัทธิเรดอเลิร์ท|ท่านศาสดาหมูแฮม}}
ฟังก์ชั่นจะแสดงออกมา คือ ลัทธิเรดอเลิร์ท
สาเหตุที่ได้ค่านี้ออกมา คือ ฟังก์ชั่นได้มีค่าที่ผู้ใช้กำหนดเอง(ซึ่งก็คือ "กขคง") ฟังก์ชั่นจึงแสดงค่าในส่วนที่ 2 ออกมาเป็น ลัทธิเรดอเลิร์ท นั่นเอง
ในทางตรงกันข้าม ถ้าใส่ค่าว่างลงไปแทน กขคง
โค้ดคำสั่ง | ผลลัพธ์ |
---|---|
{{#if:|มีค่าอยู่จริง|ค่าหายไปใหน}} |
ค่าหายไปใหน |
{{#if:<!--กขคง-->|ต้องมีแน่ๆ|ไม่มีหรอกนะ}} |
ไม่มีหรอกนะ |
ฟังก์ชั่นนี้ยังสามารถตรวจสอบตัวแปรธรรมดา และตัวแปรอัตโนมัติได้ โดยใช้หลักการเดียวกับข้างต้น ตังนี้
โค้ดคำสั่ง | ผลลัพธ์ |
---|---|
{{#if:{{NAMESPACE}}|ส่วนที่ 1|ส่วนที่ 2}} |
ส่วนที่ 1 |
1{{#if:{{{1|}}|ส่วนที่ 1|ส่วนที่ 2}} |
ส่วนที่ 2 |
1{{#if:{{{1}}}|ส่วนที่ 1|ส่วนที่ 2}} |
ส่วนที่ 1 |
1 แสดงให้เห็นถึงการตรวจสอบค่าตัวแปร จะเห็นว่าข้อสุดท้ายฟังก์ชั่นจะแสดงค่าในส่วนที่ 1 ออกมา เนื่องจากฟังก์ชั่นจะเห็นว่ามีค่าของตัวแปรออกมา
การตรวจสอบค่าตัวแปรจะต้องใส่เครื่องหมายไปป์ ( | ) ตามหลังด้วยทุกครั้ง เช่น {{{xyz|}}} มิฉะนั้นฟังก์ชั่นจะเข้าใจว่ามีการส่งค่าออกมาจากตัวแปร
การตรวจสอบว่ามีหน้านั้นๆ อยู่หรือไม่
เป็นการตรวจสอบว่ามีหน้าที่ต้องการอยู่จริงหรือไม่ ซึ่งมีวิธีการเขียนโค้ดดังนี้
{{#Ifexist:''ชื่อหน้า''|''ข้อความที่แสดงถ้ามีหน้าอยู่จริง''|''ข้อความที่แสดงถ้าไม่มีหน้า''}}
ซึ่งคำสั่ง {{#Ifexist}} เป็นคำสั่งที่ใช้สำหรับตรวจสอบว่ามีหน้าอยู่จริงหรือไม่
ตัวอย่างที่1
{{#Ifexist:ข้อมูลปกปิด|มีหน้า [[ข้อมูลปกปิด]] อยู่จริง|ไม่มีหน้า [[ข้อมูลปกปิด]]}}
ถ้ามีหน้าข้อมูลปกปิด อยู่จริง จะแสดง มีหน้า ข้อมูลปกปิด อยู่จริง
แต่ถ้าไม่มีหน้าข้อมูลปกปิด อยู่ จะแสดง ไม่มีหน้า ข้อมูลปกปิด
ซึ่งผลลัพธ์ที่ได้คือ
มีหน้า ข้อมูลปกปิด อยู่จริง
ตัวอย่างที่ 2
{{#Ifexist:ขิดมูลปกป้อ|มีหน้า [[ขิดมูลปกป้อ]] อยู่จริง|ไม่มีหน้า [[ขิดมูลปกป้อ]]}}
ถ้ามีหน้าขิดมูลปกป้อ อยู่จริง จะแสดง มีหน้า ขิดมูลปกป้อ อยู่จริง
แต่ถ้าไม่มีหน้าขิดมูลปกป้อ อยู่ จะแสดง ไม่มีหน้า ขิดมูลปกป้อ
ซึ่งผลลัพธ์ที่ได้คือ
ไม่มีหน้า ขิดมูลปกป้อ
การเลือกค่า
การเลือกค่า คือ การแสดงค่าหนึ่งๆ เมื่อในตัวแปรมีอีกค่าหนึ่ง
ถ้ายังไม่เข้าใจ ลองดูโค้ดนี้ ซึ่งโค้ดนี้เป็นโค้ดในแม่แบบ switch
{{#switch:{{{word}}} |พระเจ้า = บร๊ะเจ้า |นักการเมือง = นักการเมีย |รัฐธรรมนูญ = รัฐธรรมนู้บ |เอเชียกลาง = เอเชยกลวง |#default = ไม่พบคำทับศัพท์นี้ }}
ซึ่งโค้ดแต่ละตัวมีความหมายดังนี้
- คำสั่ง {{#switch}} เป็นคำสั่งหลักที่ใช้สำหรับการเลือกค่า
- {{{word}}} (ตัวแปร word) เป็นตัวแปรที่ใช้ในการเลือกค่า
- พระเจ้า นักการเมือง รัฐธรรมนูญ และ เอเชียกลาง เป็นค่าๆ หนึ่ง ถ้าตัวแปร var ส่งค่าใดค่าหนึ่งออกมา คำสั่ง {{#switch}} จะส่งค่าที่อยู่ถัดจากเครื่องหมายเท่ากับ (=) ของแต่ละค่า ออกไปแทน
- #default เป็นคำสั่งๆ หนึ่ง ซึ่งจะทำงานเมื่อ ถ้าตัวแปรไม่ได้ส่งค่าใดค่าหนึ่งใน 4 ค่าข้างต้นออกมา คำสั่ง {{#switch}} จะส่งค่าที่อยู่ถัดจากเครื่องหมายเท่ากับ (=) ที่อยู่หลัง #default ออกไปแทน
จากความหมายของโค้ดดังนี้ กล่าวได้ว่า คำสั่ง {{#switch}} เป็นคำสั่งสำหรับเลือกค่านั่นเอง ซึ่งการทำงานของมันคือ เมื่อในตัวแปรที่อยู่ในคำสั่ง {{#switch}} มีค่าๆ หนึ่ง คำสั่ง {{#switch}} จะส่งค่าอีกค่าหนึ่งออกมาแทน ซึ่งสามารถดูตัวอย่างได้ดังต่อไปนี้
ตัวอย่าง (ใช้แม่แบบสมมุติ switch เป็นดารารับเชิญ)
ในแม่แบบดังกล่าวมีโค้ดดังนี้
{{#switch:{{{word}}} |พระเจ้า = บร๊ะเจ้า |นักการเมือง = นักการเมีย |รัฐธรรมนูญ = รัฐธรรมนู้บ |เอเชียกลาง = เอเชยกลวง |#default = ไม่พบคำทับศัพท์นี้ }}
ควรดูโค้ดด้านบนประกอบด้วย จึงจะเข้าใจตัวอย่าง
ส่งค่า "พระเจ้า" ให้ตัวแปร word | {{switch|word=พระเจ้า}} | บร๊ะเจ้า |
ส่งค่า "นักการเมือง" ให้ตัวแปร word | {{switch|word=นักการเมือง}} | นักการเมีย |
ส่งค่า "รัฐธรรมนูญ" ให้ตัวแปร word | {{switch|word=รัฐธรรมนูญ}} | รัฐธรรมนู้บ |
ส่งค่า "เอเชียกลาง" ให้ตัวแปร word | {{switch|word=เอเชียกลาง}} | เอเชยกลวง |
ส่งค่า "มนุษย์" ให้ตัวแปร word | {{switch|word=มนุษย์}} | ไม่พบคำทับศัพท์นี้ |
ไม่ส่งค่าอะไรเลย ให้ตัวแปร word | {{switch|word=}} | ไม่พบคำทับศัพท์นี้ |
จะเห็นว่า ถ้าส่งค่า "พระเจ้า" "นักการเมือง" "รัฐธรรมนูญ" "เอเชียกลาง" ค่าใดค่าหนึ่ง ให้ตัวแปร var แม่แบบจะส่งค่าที่อยู่ถัดจากเครื่องหมายเท่ากับ (=) ออกมา แต่ถ้าส่งค่าอื่นๆ ที่นอกเหนือจากนี้ หรือไม่ส่งค่าอะไรเลย แม่แบบจะส่งค่าที่อยู่ถัดจากเครื่องหมายเท่ากับ (=) ของคำสั่ง #default ออกมาแทน
การตรวจสอบความเท่ากัน
คุณสามารถตรวจสอบความเท่ากันของค่า 2 ชุดโดยใช้คำสั่ง {{#Ifeq}} ซึ่งมีการเขียนโค้ดดังนี้
{{#Ifeq:<ค่าชุดที่ 1>|<ค่าชุดที่ 2>|<ข้อความที่แสดงเมื่อค่าชุดที่ 1 และค่าชุดที่ 2 มีค่าเท่ากัน>|<ข้อความที่แสดงเมื่อค่าชุดที่ 1 และค่าชุดที่ 2 มีค่าไม่เท่ากัน>}}
หมายเหตุ ค่าที่จะนำมาเปรียบเทียบไม่จำเป็นต้องเป็นค่าตัวเลขเสมอไป จะเป็นค่าอะไรก็ได้
ซึ่งเราจะใช้แม่แบบ equal เป็นตัวอย่าง ในแม่แบบดังกล่าวมีโค้ดดังนี้
{{#Ifeq:{{{vara}}}|{{{varb}}}|ตัวแปร '''vara''' มีค่าเท่ากับตัวแปร '''varb''' โดยมีค่าเท่ากับ *vara = {{{vara}}} *varb = {{{varb}}} |ตัวแปร '''vara''' มีค่าไม่เท่ากับตัวแปร '''varb''' โดยมีค่าดังนี้ *vara = {{{vara}}} *varb = {{{varb}}} }}
หลักการของมันคือ ในแม่แบบจะมีตัวแปรอยู่ 2 ตัวคือ vara และ varb โดยค่าชุดที่ 1 เป็นค่าที่ส่งออกมาจากตัวแปร vara และค่าชุดที่ 2 เป็นค่าที่ส่งออกมาจากตัวแปร varb เมื่อตัวแปรทั้งสองมีค่าเท่ากัน แม่แบบจะส่งข้อความออกมาว่าตัวแปรทั้งสองว่ามีค่าเท่ากัน และจะแสดงค่าในตัวแปรทั้งสองตัวดังกล่าว แต่ถ้าตัวแปรทั้งสองมีค่าไม่เท่ากัน แม่แบบจะส่งข้อความออกมาว่าตัวแปรทั้งสองว่ามีค่าไม่เท่ากัน และจะแสดงค่าในตัวแปรทั้งสองเช่นเดียวกัน
ตัวอย่างที่ 1
{{equal |vara = rev |varb = ver }}
คำอธิบาย เป็นการเรียกแม่แบบขึ้นมาทำงาน แล้วส่งค่าให้ตัวแปร vara เป็น rev และส่งค่าให้ตัวแปร varb เป็น ver
ได้ผลลัพธ์ดังนี้
ตัวแปร vara มีค่าไม่เท่ากับตัวแปร varb โดยมีค่าดังนี้
- vara = rev
- varb = ver
ตัวอย่างที่ 2
{{equal |vara = xex |varb = xex }}
คำอธิบาย เป็นการเรียกแม่แบบขึ้นมาทำงาน แล้วส่งค่าให้ตัวแปร vara เป็น xex และส่งค่าให้ตัวแปร varb เป็น xex
ได้ผลลัพธ์ดังนี้
ตัวแปร vara มีค่าเท่ากับตัวแปร varb โดยมีค่าเท่ากับ
- vara = xex
- varb = xex
การคำนวณทางคณิตศาสตร์และเปรียบเทียบ[10]
คำสั่ง {{#expr}} เป็นคำสั่งที่ใช้ในการคำนวณ หรือเปรียบเทียบ
การคำนวณ
คำนวณโดยใช้คำสั่ง {{#expr}} ตามที่กล่าวไปข้างต้น โดยมีวิธีการเขียนโค้ดดังนี้
{{#expr: <ตัวตั้ง> <วิธีการคำนวณ> <ตัวคำนวณ>}}
- ตัวตั้ง คือ ค่าตัวเลข(ห้ามเป็นตัวอักษร) ที่เป็นตัวตั้ง
- วิธีการคำนวณ คือ สัญลักษณ์พิเศษที่บ่งบอกถึงวิธีการคำนวณ เช่น บวก ลบ คูณ หาร
- ตัวคำนวณ คือ ค่าตัวเลข(ห้ามเป็นตัวอักษร) ที่นำมาคำนวณกับตัวตั้ง ตามวิธีการคำนวณ
สัญลักษณ์พิเศษต่างๆ
สัญลักษณ์ | ความหมาย |
---|---|
+ | บวก |
- | ลบ |
* | คูณ |
/ หรือ div | หาร |
mod | หารเอาเศษ |
^ | ยกกำลัง |
ตัวอย่าง
โค้ด | ผลลัพธ์ที่ได้ | ความหมาย |
---|---|---|
{{#expr: 30 + 60}} |
90 | 30 + 60 = 90 |
{{#expr: 49 + 49}} |
98 | 49 + 49 = 98 |
{{#expr: 15 - 3}} |
12 | 15 - 3 = 12 |
{{#expr: 45 - 45}} |
0 | 45 - 45 = 0 |
{{#expr: 5 * 5}} |
25 | 5 x 5 = 25 |
{{#expr: 100 * 50}} |
5000 | 100 x 50 = 5000 |
{{#expr: 90 / 2}} |
45 | 90 ÷ 2 = 12 |
{{#expr: 8 / 3}} |
2.6666666666667 | 8 ÷ 3 = 2 เศษ 1 |
ตัวดำเนินการพิเศษสำหรับการแสดงผล
นอกจากนี้แล้ว ฟังก์ชั่น {{#expr}} ยังสามารถกำหนดลักษณะของจำนวนเลขก่อนที่จะแสดงผลได้อีกโดยใช้ตัวดำเนินการพิเศษ ดังต่อไปนี้
สิ่งที่จะทำ | การใช้งาน |
---|---|
กำหนดจำนวนตำแหน่งทศนิยมที่แสดงผลออกมา | {{#expr: จำนวนเลข หรือนิพจน์ round จำนวนตำแหน่งทศนิยม }}
|
ตัดเลขทศนิยมออกทั้งหมด | {{#expr: trunc จำนวน }} และ {{#expr: trunc (นิพจน์) }}
|
แสดงค่าพาย | {{#expr: PI }} = 3.1415926535898และสามารถนำไปคำนวนได้ตามปกติ เช่น
|
แสดงค่าสัมบูรณ์ | {{#expr: abs จำนวนตัวเลข }}
|
ตัวดำเนินการเหล่านี้สามารถจัดกลุ่มให้อยู่ในวงเล็บเช่นเดียวกับตัวดำเนินการทั่วไป
การเปรียบเทียบ
การเปรียบเทียบจะใช้คำสั่ง {{#expr}} เช่นเดียวกับการคำนวณ มีลักษณะการเขียนโค้ดที่คล้ายกับการคำนวณ ดังนี้
{{#expr: <ชุดค่าที่ 1> <วิธีการเปรียบเทียบ> <ชุดค่าที่ 2>}}
- ชุดค่าที่ 1 ชุดค่าที่จะนำมาเปรียบเทียบ
- วิธีการเปรียบเทียบ สัญลักษณ์พิเศษที่บ่งบอกถึงวิธีการเปรียบเทียบ เช่น มากกว่า น้อยกว่า
- ชุดค่าที่ 2 ชุดค่าที่จะนำมาเปรียบเทียบ
สัญลักษณ์พิเศษ
สัญลักษณ์ | ความหมาย |
---|---|
> | มากกว่า |
< | น้อยกว่า |
= | เท่ากับ |
!= หรือ <> | ไม่เท่ากับ |
>= | มากกว่าหรือเท่ากับ |
<= | น้อยกว่าหรือเท่ากับ |
ค่าที่ส่งออกมาจากคำสั่ง
คำสั่ง {{#expr}} เมื่อเปรียบเทียบจะส่งค่าออกมาว่าเป็นจริงหรือ เป็นเท็จ ดังนี้
- 0 = ค่าเท็จ(False)
- 1 = ค่าจริง(True)
เช่น เรานำ 3 และ 5 ไปเปรียบเทียบว่า 3 < 5 จะได้ค่าเป็น 1 เนื่องจาก 3 น้อยกว่า 5 จริง นั่นเอง
ตัวอย่าง
คำสั่ง | ผลลัพธ์ | ความหมาย |
---|---|---|
{{#expr: 27 < 29}} |
1 | 27 น้อยกว่า 29 เป็นค่าจริง |
{{#expr: 56 < 38}} |
0 | 56 น้อยกว่า 38 เป็นค่าเท็จ |
{{#expr: 46 > 15}} |
1 | 46 มากกว่า 15 เป็นค่าจริง |
{{#expr: 32 > 108}} |
0 | 32 มากกว่า 108 เป็นค่าเท็จ |
{{#expr: 5056 = 5056}} |
1 | 5056 เท่ากับ 5056 เป็นค่าจริง |
{{#expr: 10903 = 400}} |
0 | 10903 เท่ากับ 400 เป็นค่าเท็จ |
นอกจากนี้ คุณยังสามารถใช้คำสั่ง {{#ifexpr}} ในการเปรียบเทียบทางคณิตศาสตร์ โดยมีวิธีการใช้แบบเดียวกัน แต่คำสั่งนี้สามารถแสดงข้อความออกมาได้เลย เช่นเดียวกับคำสั่ง {{#if:}} ที่ได้กล่าวไว้แล้วตอนต้น
{{#ifexpr:<ค่า 1> <การเปรียบเทียบ> <ค่า 2>|<แสดงเมื่อเป็นจริง>|<แสดงเมื่อเป็นเท็จ>}}
การตรวจสอบความผิดพลาดของฟังก์ชั่น[11]
ในการเขียนโค้ดนั้น อาจจะเกิดความผิดพลาดโดยไม่คาดฝันอันเนื่องมาจากการเขียนโค้ดผิดพลาด จนทำให้ตัวฟังก์ชั่นฟ้องออกมา และอาจจะมีผลกระทบต่อหน้านั้นด้วย เราสามารถตรวจสอบควบคุมความผิดพลาดโดยใช้ฟังก์ชั่น {{#iferror:}} ได้ การใช้ฟังก์ชั่นนี้จะควบคุมไม่ให้ฟังก์ชั่นฟ้องออกมาจนทำให้มีผลกระทบต่อตัวหน้า
อย่างไรก็ตามฟังก์ชั่นนี้ก็ยังมีข้อจำกัด ฟังก์ชั่นดังกล่าวสามารถตรวจสอบความผิดพลาดของสิ่งต่างๆ ได้ดังนี้
- ความผิดพลาดของฟังก์ชั่นต่อไปนี้ : {{#expr:}} {{#time:}} และ {{#rel2abs:}}
ฟังก์ชั่นดังกล่าวมีการใช้งานดังนี้
{{#iferror: โค้ดที่ต้องการตรวจสอบความผิดพลาด | [ข้อความที่จะแสดงเมื่อเกิดความผิดพลาดขึ้น] | [ข้อความที่จะแสดงเมื่อไม่เกิดความผิดพลาด] }}
อย่างเช่นความผิดพลาดในการคำนวนของฟังก์ชั่น {{#expr:}} ดังนี้
{{#expr: 2 / 0}}
= สูตรไม่ถูกต้อง : หารด้วยศูนย์
จะเห็นว่าฟังก์ชั่นนี้จะแสดงข้อความผิดพลาดขึ้นมา(การหารด้วยศูนย์) ดังนั้นถ้าจับใส่ {{#iferror:}} ก็จะแสดงผลดังต่อไปนี้
{{#iferror: {{#expr: 2 / 0}} | abc | xyz }}
= abc
แต่ถ้าฟังก์ชั่นนี้ไม่เกิดความผิดพลาด ก็จะแสดง "xyz" แทน
นอกจากนี้ ฟังก์ชั่นนี้ยังมีรายละเอียดการระบุค่าปลีกย่อยต่างๆ ดังต่อไปนี้
{{#iferror: {{#expr: 1 + 2 }} | error | correct }}
→ correct{{#iferror: {{#expr: 1 + X }} | error | correct }}
→ error{{#iferror: {{#expr: 1 + 2 }} | error }}
→ 3{{#iferror: {{#expr: 1 + X }} | error }}
→ error{{#iferror: {{#expr: 1 + 2 }} }}
→ 3{{#iferror: {{#expr: 1 + X }} }}
→
การสร้างการแสดงรายการหน้า[12]
ในการแสดงผลรายการหน้าหรือบทความในเว็บ คุณสามารถใช้แท็ก <forum>
ในการแสดงผลได้ ซึ่งมาการใช้งานดังนี้(สามารถดูตัวอย่างรายการได้ที่ แม่แบบ:สภาน้ำชาลิสต์)
<forum> พารามิเตอร์1 = ค่า1 พารามิเตอร์2 = ค่า2 </forum>
ต่อไปนี้จะกล่าวถึงพารามิเตอร์ที่จำเป็นในการใช้ฟังก์ชั่นนี้
พารามิเตอร์เกี่ยวกับข้อมูลเนื้อหา
- category={ชื่อหมวดหมู่} แสดงรายชื่อหน้าต่างๆ ที่มีในหมวดหมู่ที่ระบุไว้ในพารามิเตอร์นี้
หมวดหมู่ที่ระบุในพารามิเตอร์นี้ไม่ต้องใส่ "หมวดหมู่:" นำหน้า
<forum> category = นักร้อง </forum>
- notcategory={ชื่อหมวดหมู่} เอาหน้าที่มีในหมวดหมู่ที่ระบุในพารามิเตอร์นี้ออกไปจากรายการ
พารามิเตอร์นี้ต้องใช้คู่กับ "category" เสมอ
category=นิยามคำศัพท์ notcategory=สิ่งที่ชาววิเกรียนฯไม่มีวันทำได้
นั่นหมายความว่า จะแสดงหน้าที่มีหมวดหมู่ นิยามคำศัพท์ ทั้งหมด แต่ยกเว้นหน้าที่มีหมวดหมู่ สิ่งที่ชาววิเกรียนฯไม่มีวันทำได้ ซึ่งในลิสต์นี้ บทความ ข้อมูลปกปิด จะไม่ถูกแสดงเนื่องจากมีหมวดหมู่ สิ่งที่ชาววิเกรียนฯไม่มีวันทำได้ ถึงแม้จะมี นิยามคำศัพท์ อยู่ด้วยก็ตาม
ไม่ต้องใส่ "หมวดหมู่:" นำหน้า
อ้างอิง
- ^ Help:Magic_words#Miscellaneous - Mediawiki
- ^ Help:Magic_words#Behaviour_switches - Mediawiki
- ^ กูเกิลไม่ได้ใช้แท็ก meta keywords ในการจัดอันดับค้นหา โดย Blognone
- ^ Help:Magic words - Mediawiki
- ^ Help:ParserFunctions - Meta
- ^ Help:Magic_words#Statistics - Mediawiki
- ^ Help:Extension:ParserFunctions#.23titleparts:
- ^ Extension:DynamicFunctions - Mediawiki
- ^ Help:ParserFunctions - Meta
- ^ Help:ParserFunctions - Meta#.23expr
- ^ Help:Extension:ParserFunctions#iferror: - Mediawiki
- ^ Extension:DPLforum