Operator
SamaLang mendukung semua operator Lua. Karena transpiler hanya mengganti kata kunci, operator berfungsi persis seperti di Lua.
Operator Aritmatika
Bagian berjudul “Operator Aritmatika”| Operator | Deskripsi | Contoh |
|---|---|---|
+ |
Penjumlahan | 3 + 2 → 5 |
- |
Pengurangan | 10 - 4 → 6 |
* |
Perkalian | 5 * 3 → 15 |
/ |
Pembagian | 10 / 3 → 3.333... |
% |
Modulo | 10 % 3 → 1 |
^ |
Eksponen | 2 ^ 3 → 8 |
ada hasil = (10 + 5) * 2tulis(hasil) -- Output: 30
ada sisa = 17 % 5tulis(sisa) -- Output: 2Operator Perbandingan
Bagian berjudul “Operator Perbandingan”| Operator | Deskripsi |
|---|---|
== |
Sama dengan |
~= |
Tidak sama dengan |
> |
Lebih besar dari |
< |
Lebih kecil dari |
>= |
Lebih besar atau sama dengan |
<= |
Lebih kecil atau sama dengan |
ada umur = 20
lamen umur >= 18 tres tulis("Dewasa")jure_moOperator Logika
Bagian berjudul “Operator Logika”| Operator | Deskripsi | Setara Lua |
|---|---|---|
no |
Logika NOT | not |
dan |
Logika AND | and |
atau |
Logika OR | or |
ada x = tutuada y = siong
lamen no y tres tulis("y adalah siong") -- Ini dijalankanjure_mo
lamen x dan y tres tulis("Keduanya benar") -- Ini TIDAK dijalankanjure_mo
lamen x atau y tres tulis("Salah satu benar") -- Ini dijalankanjure_moPenggabungan String
Bagian berjudul “Penggabungan String”Gunakan .. untuk menggabungkan string:
ada nama = "Sama"ada versi = "Lang"ada gabung = nama .. versitulis(gabung) -- Output: SamaLangOperator Panjang
Bagian berjudul “Operator Panjang”Gunakan # untuk mendapatkan panjang string atau tabel:
ada teks = "SamaLang"tulis(#teks) -- Output: 8
ada buah = {"apel", "mangga", "jeruk"}tulis(#buah) -- Output: 3Urutan Prioritas Operator
Bagian berjudul “Urutan Prioritas Operator”Dari prioritas tertinggi ke terendah:
^(eksponen)#,-unary,no(NOT)*,/,%+,-..(penggabungan)<,>,<=,>=,~=,==danatau