Online Lua - IDE, Editör, Derleyici, Yorumlayıcı

RSS

Referans yorumlayıcının WebAssembly sürümüyle Lua 5.4 betiklerini anında çalıştırın. Lua öğrenmek veya oyun ve yapılandırma betiklerini test etmek için ideal.

Lua 5.4 (wasmoon) · Tarayıcınızda çalışır, böylece kodunuz sunucularımıza hiç ulaşmaz.
main.luaLua
Çıktı

            
        
Çalıştırmak için Ctrl/⌘ + Enter

Online Lua derleyicinin özellikleri (IDE, editör & yorumlayıcı)

Lua kodunu online ve ücretsiz olarak yazın, çalıştırın ve test edin. Bu sayfa online Lua IDE'si, kod editörü, derleyicisi ve yorumlayıcısı olarak tek bir yerde çalışır: kodunuzu yazın, Çalıştır'a basın ve çıktıyı hemen görün. Her şey tarayıcınızda çalışır; kurulacak bir şey ya da açılacak bir hesap yoktur.

  • Kodu anında çalıştırın: Lua 5.4 (wasmoon), ilk yüklemeden sonra bir saniyeden kısa sürede çıktı.
  • Kod editörü: sözdizimi vurgulama, satır numaraları, parantez eşleştirme ve otomatik parantez kapatma.
  • Anlaşılır hatalar: hata mesajları ve uyarılar, kendi bilgisayarınızda olduğu gibi çıktı panelinde görünür.
  • Tam ekran: Ctrl/⌘ + Shift + F, ayarlanabilir yazı boyutu, yan yana veya alt alta düzen ve yeniden boyutlandırılabilir paneller.
  • Otomatik kaydetme: kodunuz tarayıcınızda saklanır; tek tıkla main.lua olarak indirin veya kopyalayın.
  • Güvenle deneyin: süre sınırı ve Durdur düğmesi sonsuz döngüleri sonlandırır.
  • Gizli: Lua çalışma ortamı cihazınızda çalışır, böylece kodunuz asla yüklenmez.
  • Karanlık mod ve klavye kısayolları: Ctrl/⌘ + Enter kodu çalıştırır.
  • Ücretsiz: kayıt yok, kullanım sınırı yok.

Diğer programlama dillerini öğrenin

Online Lua derleyici nasıl kullanılır

  1. Düzenleyiciye bir Lua betiği yazın veya yapıştırın. Örneği sıfırla, başlangıç kodunu geri yükler.
  2. Çalıştır'a basın veya Ctrl + Enter tuşlarını kullanın (Mac'te ⌘ + Enter).
  3. print()'e verdiğiniz her şey Çıktı panelinde görünür. Standart yorumlayıcıda olduğu gibi birden çok argüman sekmeyle ayrılır ve nil, nil olarak yazdırılır. Çalışma zamanı ve sözdizimi hataları satır numarasıyla birlikte vurgulanır.
  4. 5, 15 veya 60 saniyelik bir süre sınırı seçin. Çok uzun süren bir betik otomatik olarak durdurulur, Durdur ise onu hemen sonlandırır.

Lua çalışma zamanı küçüktür, 1 MB'ın çok altındadır; bu yüzden sayfa neredeyse anında çalıştırmaya hazır olur. Betiğinizi kaydetmek için Kopyala'yı veya main.lua'yı kullanın.

Betiğiniz, tarayıcınızın içindeki bir Web Worker'da çalışır. Hiçbir zaman yüklenmez ve sunucularımızda saklanmaz. Düzenleyici son kodunuzu yalnızca tarayıcınızın yerel depolama alanında hatırlar, başka hiçbir yerde değil.

Neler destekleniyor

Derleyici, C ile yazılmış referans Lua yorumlayıcısının WebAssembly derlemesi olan wasmoon üzerinden Lua 5.4 çalıştırır. Kodunuz JavaScript'e çevrilerek değil, gerçek Lua tarafından yürütülür.

  • Lua 5.4 dili: tamsayı ve kayan noktalı alt türler, tamsayı bölme (//), bit düzeyi işleçler, goto ile <const> ve <close> yerel öznitelikleri.
  • Standart kütüphaneler: string (Lua kalıpları ve string.format dahil), table, math, utf8 ve coroutine.
  • Closure'lar, metatable'lar ve coroutine'ler; böylece nesne yönelimli ve üreteç tarzı Lua yazmayı deneyebilirsiniz.

Sınırlamalar:

  • Çıktı için print() kullanın. Çıktı print'ten yakalanır, bu yüzden io.write yerine onu kullanın.
  • Standart girdi, ağ erişimi ve gerçek dosyalar yoktur. Test verilerinizi doğrudan betiğin içine koyun.
  • C modülleri veya LuaRocks yoktur. Yalnızca düzenleyicideki saf Lua kodu çalışabilir.
  • Her çalıştırma temiz bir Lua durumuyla başlar, bu yüzden önceki çalıştırmadan kalan genel değişkenler silinir.

Lua hızlı başvuru

local Account = {}
Account.__index = Account

function Account.new(owner, balance)
  return setmetatable({ owner = owner, balance = balance or 0 }, Account)
end

function Account:deposit(v)
  self.balance = self.balance + v
end

local acc = Account.new("Ada")
acc:deposit(50)
print(acc.owner, acc.balance)          --> Ada  50

for word in ("one two three"):gmatch("%a+") do
  print(#word, word:upper())
end
print(7 // 2, 7 / 2)                   --> 3  3.5
GörevSözdizimi
Yerel değişkenlocal x = 10
Metinleri birleştirme"a" .. "b"
Metnin veya listenin uzunluğu#t
Eşit değila ~= b
Sayısal döngüfor i = 1, 10, 2 do ... end
Bir liste / bir tablo üzerinde dolaşmafor i, v in ipairs(t) / for k, v in pairs(t)
Sayıyı biçimlendirmestring.format("%.2f", n)

İpuçları

  • Lua dizileri 0'dan değil, 1. indeksten başlar ve #, yalnızca nil boşluğu içermeyen diziler için güvenilirdir.
  • Değişkenleri local ile tanımlayın. Bu olmadan değişken geneldir; bu hem daha yavaştır hem de sık görülen bir hata kaynağıdır.
  • Yalnızca nil ve false yanlış sayılır. Lua'da 0 ve boş metin doğrudur.
  • Lua kalıpları düzenli ifadelere benzer ama daha basittir ve ters eğik çizgi yerine % kullanır; örneğin %d+. Diğer dillerdeki tam düzenli ifadeler için Regex Test Aracı'nı deneyin.
İpucu: Bir tablonun içeriğini yazdırmak için üzerinde pairs ile dolaşın veya metin ve sayı listeleri için table.concat(list, ", ") kullanın. Tablonun kendisini print(t)'ye vermek içeriğini listelemez.

Sıkça sorulan sorular

Bu araç hangi Lua sürümünü kullanıyor?

Lua 5.4. Doğrulamak için print(_VERSION) çalıştırın. Lua 5.3 için yazılmış kod neredeyse her zaman değişmeden çalışır; Lua 5.1 veya LuaJIT kodu ise küçük değişiklikler gerektirebilir, örneğin unpack yerine table.unpack kullanmak gibi.

Roblox veya LÖVE betiklerini burada test edebilir miyim?

İşlevler, tablolar, metin işleme ve matematik gibi düz Lua mantığını test edebilirsiniz. Roblox servisleri (Roblox, Luau adlı kendi lehçesini kullanır) veya LÖVE'nin love.* işlevleri gibi oyun motoru API'leri burada bulunmaz.

io.read neden çalışmıyor?

Derleyicinin etkileşimli bir standart girdisi yoktur. Test değerlerinizi betiğin en üstünde değişken olarak tanımlayın.

Online olarak başka hangi dilleri çalıştırabilirim?

Online Python Derleyici ve Online Ruby Derleyici de tamamen tarayıcınızda çalışır.

Güncellendi

Panoya kopyalandı