Language Tour

Tipe, operator, dan alur kontrol di AHA! — tur 10 menit

Language Tour

Tipe

TipeCatatan
IntBilangan bulat 64-bit — tipe numerik universal
BoolLiteral true / false; dihasilkan oleh !
String"..." dengan urutan escape (\n, \t, \\, \", \r, \0)

Operator

KategoriOperator
Aritmetika+ - * / %
Perbandingan== != < > <= >= (→ Int 0/1)
Logika&& || (→ Int 0/1)
Prefiks-x, !x
Penugasanx = value

Aljabar Boolean yang Menyatu

Semua operator perbandingan dan logika mengembalikan Int 0/1 alih-alih boolean — sehingga hasil logika mengalir langsung ke aritmetika:

fn is_even(n) {
    n % 2 == 0
}

print(is_even(4) * 100); // 1 * 100 = 100

Tanpa cast, tanpa konversi — logika langsung menyatu.

Variabel

let count = 0;
count = count + 1; // assignment
count // 1

Alur Kontrol

if / else

if adalah sebuah ekspresi — ekspresi terakhir dari setiap cabang adalah nilainya:

let x = 10;
let y = 20;

if x > y {
    x
} else {
    y
}

while

let i = 0;
while i < 5 {
    i = i + 1;
}
i // 5

for

for mengulang pada rentang bilangan bulat a..b (batas akhir eksklusif):

let sum = 0;
for i in 0..10 {
    sum = sum + i;
}
sum // 0 + 1 + ... + 9 = 45

break / continue

let total = 0;
for i in 0..100 {
    if i == 5 {
        break;
    }
    total = total + i;
}
total // 0 + 1 + 2 + 3 + 4 = 10

Komentar

  • // line comment
  • /* block comment */

Builtins

BuiltinDeskripsi
print(int)Cetak sebuah bilangan bulat
print_str(string)Cetak sebuah string
len(string)Panjang string dalam O(1)
abs(x), min(a, b), max(a, b)Pembantu numerik

Lihat Builtins untuk detailnya.