基本类型

Map类型可以通过table模块中的函数进行操作,可以通过中括号下标或者点号加属性名进行读写访问,比如a['name'], a.name等

Array类型可以通过table模块中的函数进行操作,可以通过中括号下标进行读写访问,比如a[1]等

比如

let a = {}                    -- 这是一个空哈希表, a变量的类型自动推导为Map<object>
a['name'] = 'uvm'          -- 修改a指向的哈希表中的键值对
let b = { age: 2 }               -- b变量类型是Map<int>
let c={ ['name']='China', age=5000, address: 'China' }            -- c变量类型是Map<object>类型,因为值类型有多种不同类型,所以自动推导为Map<object>
let d = [ 1, 2, 3 ]              -- d变量是一个包含3个值的列表,类型是Array<int>

比如

type Person = {
    name: string,
    age: int default 24,
    age2: int = 24  -- record属性默认值既可以用default也可以用=区分
}

比如

type Gender = "male" | "female" 
var gender: Gender
gender = "male"    -- Correct
gender = "Chinese" -- Error: 编译错误