呢一頁仲未翻譯。英文版本為準。 睇英文版 →

控制流

条件语句、循环和匹配表达式。

控制流

控制流是语言中最安全的部分之一,但仍然受益于保守的示例。本页聚焦于在入职培训和阅读当前固定件时仍然有用的形式。

当前合同

  • if 仍然是一个以表达式为导向的简单分支形式。
  • whilefor 是支持教学表面的一部分,用于循环。
  • match 对于分支和理解检查器中耗尽行为如何演变都非常重要。

代表控制流

let max = if a > b { a } else { b }

while count < 3 {
    count = count + 1
}

match state {
    0 => println("冷")
    _ => println("热")
}

在哪里检查行为

  • self-hosted/parser/exprs.sioself-hosted/parser/stmts.sioself-hosted/parser/patterns.sio 定义了大部分相关的语法处理。
  • self-hosted/check/patterns.sioself-hosted/check/exhaustiveness.sioself-hosted/check/pat_decision.sio 是检查匹配相关语义的地方。
  • tests/run-pass/ 仍然是查找当前示例的合适位置,这些示例是编译器今天接受的。

实用指南

  • 在编写公开文档时,偏好简单的分支和匹配示例。
  • 如果您记录了高级模式匹配行为,请验证它与当前检查器匹配,而不是假设设计笔记和工件总是匹配。
  • 将规范视为更大的意图,将固定件视为当前行为的最佳证明。