# assert

## 功能

`assert` 用于断言条件成立。条件为真时继续执行并返回 `true`；条件为假时抛出运行时错误，中断当前执行。

## 语法

```bt
assert(condition)
assert(condition, message)
```

## 参数

| 参数 | 类型 | 必填 | 默认值 | 说明 |
| ------ | ------ | ------ | ------ | ------ |
| condition | Any | 是 | 无 | 要判断的条件，按 BT 的 `if` 真值规则处理。 |
| message | Any | 否 | 无 | 自定义失败提示，会转换为字符串输出。 |

## 返回值

| 类型 | 说明 |
| ------ | ------ |
| Bool | 条件成立时返回 `true`；条件不成立时不会返回，直接抛出运行时错误。 |

## 代码示例

```bt
assert(1 + 1 == 2)

name = 'BT'
assert(name == 'BT', 'name 应该是 BT')

print 'ok'
```

失败时：

```bt
assert(1 + 1 == 3)
```

会抛出类似错误：

```text
断言失败：assert(1 + 1 == 3)
```

## 注意事项

- `assert` 至少需要 1 个参数。
- 真值规则与 `if` 条件一致，`null`、`empty`、`0`、空字符串、空数组和空对象都视为假。
- 断言失败时会尽量在错误信息中包含当前 `assert(...)` 源码语句；如果传入 `message`，自定义消息会作为主要错误信息。
