Langsung ke konten

Tipe Data

SamaLang mewarisi semua tipe data dari Lua. Karena SamaLang ditranspile langsung ke Lua, setiap tipe data Lua tersedia.

SamaLang menggunakan angka floating-point (presisi ganda) untuk semua nilai numerik.

Terminal window
ada umur = 25
ada tinggi = 170.5
ada negatif = -10
tulis(umur)
tulis(tinggi)

String adalah urutan karakter yang diapit oleh tanda kutip ganda.

Terminal window
ada nama = "SamaLang"
ada sapa = "Halo, Dunia!"
tulis(nama)
tulis(sapa)

Penggabungan string menggunakan operator ..:

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

SamaLang memiliki dua nilai boolean: tutu (benar) dan siong (salah).

Terminal window
ada aktif = tutu
ada kosong = siong
lamen aktif tres
tulis("Aktif!")
jure_mo

Keyword nda_isi merepresentasikan ketiadaan nilai (setara dengan nil di Lua).

Terminal window
ada data = nda_isi
lamen data == nda_isi tres
tulis("Tidak ada data")
jure_mo

Tabel adalah struktur data utama SamaLang. Bisa digunakan sebagai array, dictionary, atau objek.

Terminal window
-- Array
ada buah = {"apel", "mangga", "jeruk"}
tulis(buah[1]) -- Output: apel
-- Dictionary
ada mahasiswa = {
nama = "Ahmad",
umur = 20,
jurusan = "Teknik"
}
tulis(mahasiswa.nama)

Lihat Tabel untuk detail lebih lanjut.

Tipe Contoh Setara Lua
Number 42, 3.14 number
String "teks" string
Boolean tutu, siong boolean
Nil nda_isi nil
Table {1, 2, 3} table
Function fungsi ... jure_mo function