Wikipedia:Lua
Ini adalah halaman informasi yang menerangkan konsensus komunal mengenai aspek norma dan praktik Wikipedia. Meski bukan berupa kebijakan atau pedoman, halaman ini bertujuan melengkapi atau mengklarifikasi praktik dan kebijakan Wikipedia yang lain. Mohon patuhi kebijakan atau pedoman yang relevan jika ada ketidaksamaan antara halaman tersebut dan halaman ini. |
Ruang nama | |||
---|---|---|---|
Ruang nama subjek | Ruang nama pembicaraan | ||
0 | (Utama/Artikel) | Pembicaraan | 1 |
2 | Pengguna | Pembicaraan Pengguna | 3 |
4 | Wikipedia | Pembicaraan Wikipedia | 5 |
6 | Berkas | Pembicaraan Berkas | 7 |
8 | MediaWiki | Pembicaraan MediaWiki | 9 |
10 | Templat | Pembicaraan Templat | 11 |
12 | Bantuan | Pembicaraan Bantuan | 13 |
14 | Kategori | Pembicaraan Kategori | 15 |
100 | Portal | Pembicaraan Portal | 101 |
126 | MOS | Pembicaraan MOS | 127 |
710 | TimedText | TimedText talk | 711 |
828 | Modul | Pembicaraan Modul | 829 |
2600 | Topik | 2601 | |
Tidak digunakan lagi | |||
2300 | [[Wikipedia:Perkakas|]] | 2301 | |
2302 | [[Wikipedia:Perkakas|]] | 2303 | |
Tidak dipasang | |||
90 | Thread | Thread talk | 91 |
92 | Summary | Summary talk | 93 |
108 | Buku | 109 | |
118 | Draf | 119 | |
442 | Course | Course talk | 443 |
444 | Institution | Institution talk | 445 |
446 | Program pendidikan | 447 | |
Dalam fitur beta | |||
1074 | Story | Pembicaraan Story | 1075 |
Ruang nama virtual | |||
-1 | Istimewa | ||
-2 | Media | ||
Daftar saat ini (panggilan API) |
Lua adalah bahasa pemrograman yang sekarang tersedia melalui ekstensi MediaWiki Scribunto, di Wikipedia bahasa Indonesia. Kode Lua dapat digunakan pada templat-templat wiki dengan fungsi scribunto "{{#invoke:}}". Ekstensi ini mendukung Lua versi 5.1 hingga Juli 2015[update].
Kode sumber Lua disimpan di halaman bernama modul (misalnya Modul:Pisang). Kode-kode tunggal ini dapat dipanggil (dengan perintah {{#invoke:}}
) di halaman templat (contoh pada halaman Modul:Pisang/doc menggunakan kode {{#invoke:Pisang|hello}}
untuk menghasilkan teks "Hello, world!").
Menjalankan modul
Modul dapat dijalankan di halaman wiki normal menggunakan fungsi parser #invoke. Sintaks #invoke mirip dengan sintaks templat, tetapi terdapat beberapa perbedaan. Perbedaan yang paling penting adalah Anda memerlukan nama fungsi. Sebuah fungsi adalah satu set perintah yang mengambil nilai input, memprosesnya, dan menghasilkan suatu nilai output.[1] Sistemnya sangat mirip dengan templat: Anda memasukan argumen, kemudian modul akan memprosesnya, dan Anda akan mendapat hasil keluaran. Bagaimanapun, Anda dapat mendefinisikan beberapa fungsi dalam satu modul, sedangkan templat, Anda hanya dapat menggunakan satu fungsi untuk satu halaman.
Tambahan lagi, Anda tidak dapat menjalankan modul secara langsung — Anda hanya dapat menjalankan salah satu fungsi modul. Modul hanyalah tempat untuk menampung fungsi, dan tidak bisa bekerja sendiri. Jadi ada dua alasan mengapa kita perlu memasukan nama fungsi: kita tidak bisa menjalankan modul tanpanya, dan tanpa merinci nama fungsi, Lua tidak akan tahu fungsi mana yang akan kita jalankan.
Cara paling sederhana untuk menjalankan lua dari halaman wiki adalah:
{{#invoke:nama modul|nama fungsi}}
Sebagai contoh, kita dapat menjalankan Modul:Pisang disini modul pisang memiliki satu fungsi bernama "hello".
{{#invoke:pisang|hello}}
→ Hello, world!
Menggunakan argumen
Argumen pada modul bekerja dengan cara yang sama seperti pada templat, tetapi setelah karakter pipa pertama selalu berisi nama fungsi; argumen pertama adalah teks setelah tanda "pipa" kedua.
{{#invoke:nama modul|nama fungsi|argumen pertama|argumen kedua|isi argumen = value}}
Sebagai contoh, pada Modul:PisangArgs, fungsi "hai" menyapa orang yang berbeda tergantung pada argumen pertama. Seperti ini:
{{#invoke:PisangArgs|hai|Om Joko}}
→ Hai, Om Joko!{{#invoke:PisangArgs|hai|Mbah Darmo}}
→ Hai, Mbah Darmo!
Pada modul PisangArgs juga memiliki fungsi bernama "hitung_semua" yang menggunakan argumen bernama pisang
dan donat
untuk menghitung jumlah pisang dan donat yang kita miliki. Seperti ini:
{{#invoke:PisangArgs|hitung_semua|donat=13|pisang=21}}
→ Aku punya 21 pisang dan 13 donat{{#invoke:PisangArgs|hitung_semua|pisang=17|donat=6}}
→ Aku punya 17 pisang dan 6 donat
Modul memiliki halaman dokumentasi yang akan menjelaskan tentang argumen dan cara penggunaannya.
Catatan
- ^ Anda juga dapat menggunakan lebih dari satu nilai keluaran, tapi bukan berarti bahwa fungsi yang melakukanya dapat diakses dari sebuah halaman wiki normal.
Lihat pula
- m:lua halaman "sentral" di Meta-Wiki
- mw:lua indeks di www.mediawiki.org
- Informasi mengenai lua di Wikipedia bahasa Inggris