Langsung ke konten

Operator

SamaLang mendukung semua operator Lua. Karena transpiler hanya mengganti kata kunci, operator berfungsi persis seperti di Lua.

Operator Deskripsi Contoh
+ Penjumlahan 3 + 25
- Pengurangan 10 - 46
* Perkalian 5 * 315
/ Pembagian 10 / 33.333...
% Modulo 10 % 31
^ Eksponen 2 ^ 38
Terminal window
ada hasil = (10 + 5) * 2
tulis(hasil) -- Output: 30
ada sisa = 17 % 5
tulis(sisa) -- Output: 2
Operator Deskripsi
== Sama dengan
~= Tidak sama dengan
> Lebih besar dari
< Lebih kecil dari
>= Lebih besar atau sama dengan
<= Lebih kecil atau sama dengan
Terminal window
ada umur = 20
lamen umur >= 18 tres
tulis("Dewasa")
jure_mo
Operator Deskripsi Setara Lua
no Logika NOT not
dan Logika AND and
atau Logika OR or
Terminal window
ada x = tutu
ada y = siong
lamen no y tres
tulis("y adalah siong") -- Ini dijalankan
jure_mo
lamen x dan y tres
tulis("Keduanya benar") -- Ini TIDAK dijalankan
jure_mo
lamen x atau y tres
tulis("Salah satu benar") -- Ini dijalankan
jure_mo

Gunakan .. untuk menggabungkan string:

Terminal window
ada nama = "Sama"
ada versi = "Lang"
ada gabung = nama .. versi
tulis(gabung) -- Output: SamaLang

Gunakan # untuk mendapatkan panjang string atau tabel:

Terminal window
ada teks = "SamaLang"
tulis(#teks) -- Output: 8
ada buah = {"apel", "mangga", "jeruk"}
tulis(#buah) -- Output: 3

Dari prioritas tertinggi ke terendah:

  1. ^ (eksponen)
  2. #, - unary, no (NOT)
  3. *, /, %
  4. +, -
  5. .. (penggabungan)
  6. <, >, <=, >=, ~=, ==
  7. dan
  8. atau