Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

แมป

Whamm มีแมป (map) สำหรับจัดเก็บคู่คีย์-ค่า ซึ่งคล้ายกับชนิด Map ของ java และ dict ของ python อันที่จริงมันคือชนิด HashMap ของ Rust เป๊ะๆ … เพราะ Whamm นำชนิดของ Rust นี้มาใช้อยู่เบื้องหลัง!

การสร้างอินสแตนซ์

// No need to instantiate a map, it is automatically created as an empty map.
var a: map<i32, i32>;

การอ่านและเขียนสมาชิก

การอ่านและเขียนสมาชิกของแมปใช้ไวยากรณ์ [ ... ] เหมือนแมปในภาษาอื่นๆ หลายภาษา

var a: map<i32, i32>;
a[0] = 3; // map write
var b: i32 = a[0]; // map read

// maps can also contain tuples!
var c: map<(i32, i32, i32), i32>;
c[(0, 0, 0)] = 3; // map write
var b: i32 = c[(0, 0, 0)]; // map read

ขอบเขตและการตรวจ null

การเข้าถึงแมปของ Whamm ถูกตรวจสอบกับขอบเขตแบบพลวัต

var a: map<i32, i32>;
var b: i32 = a[0]; // produces Wasm trap through Rust