Skip to content

Commit 6103bdb

Browse files
test: add example
1 parent 8c58b94 commit 6103bdb

File tree

1 file changed

+11
-11
lines changed

1 file changed

+11
-11
lines changed

course2/lec2.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -86,11 +86,11 @@ fn num_water_bottles(num_bottles: Int, num_exchange: Int) -> Int {
8686
consume(num_bottles, 0)
8787
}
8888
89-
// 程序入口
90-
fn init {
89+
// 程序测试
90+
test {
9191
// 命令
92-
assert(num_water_bottles(9, 3) == 13)
93-
assert(num_water_bottles(15, 4) == 19)
92+
@assertion.assert_eq(num_water_bottles(9, 3), 13)?
93+
@assertion.assert_eq(num_water_bottles(15, 4), 19)?
9494
}
9595
```
9696
---
@@ -317,7 +317,7 @@ $\mapsto$ `15`                               因为
317317
```moonbit
318318
// 顶层(全局)即指定义在一个文件中所有表达式块外部定义的函数或标识符
319319
let 顶层标识符 = 10
320-
fn 顶层函数(): Unit {
320+
fn 顶层函数() -> Unit {
321321
// 本地(局部)即指某个表达式块内部的函数或标识符
322322
fn 本地函数() {
323323
let 本地标识符 = 1 // 局部数值绑定可以简化
@@ -348,6 +348,8 @@ fn 顶层函数(): Unit {
348348
- 对剩余表达式进行化简
349349

350350
```moonbit expr
351+
let y: Int = 10
352+
351353
let value = {
352354
let x = 1
353355
let tmp = x * 2
@@ -358,8 +360,6 @@ let value = {
358360
}
359361
tmp + another_tmp + y
360362
}
361-
362-
let y: Int = 10
363363
```
364364

365365
---
@@ -372,6 +372,8 @@ let y: Int = 10
372372
- 对剩余表达式进行化简
373373

374374
```moonbit expr
375+
let y: Int = 10
376+
375377
let value = {
376378
let x = 1
377379
let tmp = 1 * 2 // 替换x
@@ -382,8 +384,6 @@ let value = {
382384
}
383385
tmp + another_tmp + 10 // 替换y
384386
}
385-
386-
let y: Int = 10
387387
```
388388

389389
---
@@ -396,6 +396,8 @@ let y: Int = 10
396396
- 对剩余表达式进行化简
397397

398398
```moonbit expr
399+
// 省略y的定义
400+
399401
let value = {
400402
// 省略x的定义
401403
let tmp = 2 // 简化右侧表达式
@@ -406,8 +408,6 @@ let value = {
406408
}
407409
tmp + another_tmp + 10
408410
}
409-
410-
// 省略y的定义
411411
```
412412

413413
---

0 commit comments

Comments
 (0)