第 2 章

语言基础

变量、值、函数、条件、循环和作用域。

动态值模型

HHY 是动态类型语言,运行时值包括 Null、Bool、Int、Float、String、List、Map、Range、DateTime、Path、Duration、Bytes、Percent、Result、Stream 以及系统对象。

  • let 声明不可重新赋值的绑定。
  • let mut 声明可重新赋值的绑定。
  • 块、函数和模块拥有词法作用域。
  • 集合更新返回新值,不提供原地修改 API。

函数与控制流

example.hhy
fn summarize(items) {
    let mut total = 0

    for item in items {
        if item.enabled {
            total = total + item.score
        }
    }

    return total
}

let users = [
    { name: "Ada", enabled: true, score: 98 },
    { name: "Linus", enabled: false, score: 86 }
]

summarize(users) |> print

函数按值接收参数并支持闭包。V1.0 不提供重载、泛型或默认参数。