Jess语言控制流与函数定义详解
1. 表达式与控制流函数概述
在介绍控制流函数之前,先明确“表达式”的概念。表达式是任何Jess值,包括符号、数字、字符串、变量或函数调用。对表达式求值,就是使用常量表达式的值、获取变量代表的值,或者对函数求值并使用其结果。
常见的控制流函数如下:
| 函数名 | 功能 |
| ---- | ---- |
| apply | 对给定的一组参数调用函数 |
| build | 从字符串解析并执行函数调用 |
| eval | 从字符串解析并执行函数调用 |
| foreach | 对列表中的每个项执行一次代码块 |
| if/then/else | 在不同的操作方案中进行选择 |
| progn | 执行一组函数调用 |
| while | 当表达式为真时执行代码块 |
这些函数中,有些(如foreach、while和if/then/else)会经常使用,而有些则较少使用。下面将依次介绍这些函数。
2. 常用控制流函数
2.1 foreach函数
foreach函数是遍历列表中每个元素的理想方式。其语法如下:
(foreach <variable> <list> <expression>+)
示例代码展示了如何使用foreach函数将购物清单中的每个物品打印在单独的一行上: