Please replace any old information with up-to-date information (this may include rewriting code for compatibility changes).
Hata ayıklama konsolu, kodlarınızı eş zamanlı olarak denemenize olanak sağlayan bir Scribunto aracıdır. Ekran alıntısında görüldüğü üzere yalnızca Modül:Adalanı içerisindeki bir modülü düzenlediğiniz zaman kullanılabilir.
Hata ayıklama konsolu yalnızca Lua işlemlerini (tablolar, yöntemler & ilkeller) test etmek için tasarlanmıştır. Bu nedenle Scribunto içerisinde iki adet kısıtlaması vardır:
- Konsolda sözdizimi vurgulama veya alıcı taraflı hata kontrolü bulunmamaktadır.
- Lua değişkenleri okunabilir şekilde denetlenemez veya görüntülenemez.
Bazı çözümler için #Kısıtlamalar bölümüne bakınız.
Amaç
Bu konsol, kullanıcıların mevcut sayfadan ayrılmadan ve sayfayı kaydetmek zorunda kalmadan bir veya daha çok modüldeki hataları ayıklamasına olanak sağlar. Vikiversite'de Lua hakkında güzel bir tanıtımı mevcuttur.[1]
Kullanım
Hata ayıklama konsolu ile etkileşime girmenin aslen iki yolu vardır. Bunlardan ilki, direkt olarak bir metin girmek ve sonucu beklemektir. İkincisi ise kod düzenleyicisindeki işlevlere erişmektir.
Doğrudan kullanım
Kod düzenleyicisini kullanmanın en basit yolu direkt olarak içerisine kod yazıp ↵ Enter tuşuna basmaktır. Sonuçların yüklenmesi biraz uzun sürebilir çünkü sonuçlar sunucu üzerinden döndürülmektedir.
Örnek
print (5 * 6)
- Sonuç
30
Kod düzenleyicisi
Kod düzenleyicisine basitçe bir kod eklenebilir ve görselde belirtildiği gibi sayfayı kaydetmeye gerek duymadan konsol kullanılarak kod test edilebilir. Bu sayede hata ayıklama konsolunu doldurmaya gerek kalmadan birçok kod denenebilir ve düzenleyiciden kopyalayıp konsola yapıştırma gerekliliği azaltılır.
--Kod Düzenleyicisi
local p = {}
function p.gunaydin()
return "Sana da günaydın"
end
return p
--Konsol
print(p.gunaydin())
Harici modüllerden diğer işlevler
Diğer sayfalarda saklanan modüllerdeki diğer işlevleri denemek de mümkündür. Bu işlev şu şekilde gerçekleştirilebilir:
--Modül:Gunaydin
local p = {}
function p.gunaydin()
return "Sana da günaydın"
end
--Konsol
local storedModule = require("Modül:Gunaydin")
print(storedModule.gunaydin())
- Sonuç
Sana da günaydın
Küresel Modüller
Genel bir kaynakta (dev.fandom.com) depolanan modüllere de harici modüllere benzer bir şekilde şunları yazarak erişmek mümkündür:
local storedModule = require("Dev:Gunaydin")
print(storedModule.gunaydin())
Kısıtlamalar
- Nesne denetimi bulunmamaktadır.
- Konsol fazlasıyla statiktir. Görsel olarak birinci sınıf ögeleri (ilkeller & işlevler), tabloları ve meta-tablolarını denetleyemez.
- Inspect meta-modülü, Lua ögelerini okunabilir hâle getirerek bu konuda yardımcı olabilir.
- Konsolda sözdizimi vurgulaması bulunmamaktadır.
- Konsol düzenleyicisi oldukça basittir ve kullanıcılara sözdizimi vurgulaması sağlamaz.
İpuçları ve püf noktaları
Tüm metni tekrardan konsola yazmaktan veya yapıştırmaktansa MediaWiki:Scribunto-console-intro'ya sıklıkla kullanılan işlevler veya kodlar eklenebilir. Bu şekilde toplulukta bulunan herkes bu kodlara kolaylıkla ulaşabilir.