5.2模型的集合域 总之,一个派生集合的元素列表可以用下面 的3种方式构成 明确的元素列表 个元素过滤器 忽略(暗指密集) 在下一节的数据域中,我们将说明如何利用 元素列表生成派生集合。如果疏集中的元素过多, 明确列出所有元素也是很麻烦的。 23
23 总之,一个派生集合的元素列表可以用下面 的3种方式构成: u 一个明确的元素列表 u 一个元素过滤器 u 忽略(暗指密集) 在下一节的数据域中,我们将说明如何利用 元素列表生成派生集合。如果疏集中的元素过多, 明确列出所有元素也是很麻烦的。 5.2 模型的集合域
5.2模型的集合域 但在许多情况下疏集中的元素往往都满足某 个条件而非疏集中的元素却不满足该条件。如果 你能充分利用这个条件,你将节省大量的打字时 间。这也就是元素过滤器方法的妙用所在。利用 元素过滤器的方法定义疏集就是为疏集指定一个 逻辑条件,使得集合中满足这个条件的元素都将 被保留下来。你可以将逻辑条件看成是一个过滤 器,它将过滤掉不符合某个条件的所有元素。下 面举例说明。 24
24 但在许多情况下疏集中的元素往往都满足某 个条件而非疏集中的元素却不满足该条件。如果 你能充分利用这个条件,你将节省大量的打字时 间。这也就是元素过滤器方法的妙用所在。利用 元素过滤器的方法定义疏集就是为疏集指定一个 逻辑条件,使得集合中满足这个条件的元素都将 被保留下来。你可以将逻辑条件看成是一个过滤 器,它将过滤掉不符合某个条件的所有元素。下 面举例说明。 5.2 模型的集合域
5.2模型的集合域 假设你已经定义了一个集合TRUCK(卡车) 每一辆卡车都有一个属性CAPACITY(载重量)。 假设你现在要从这个集合中生成一个子集合,该 集合由一些大吨位的卡车组成。你可以用元素列 表的方法直接输入每一辆大吨位的卡车名字。当 然,你也可以用下面的元素过滤器完成这件工作: HEAVY DUTY (TRUCKS) CAPACITY (&1) #GT#50000::演示 25
25 假设你已经定义了一个集合TRUCK(卡车), 每一辆卡车都有一个属性CAPACITY(载重量)。 假设你现在要从这个集合中生成一个子集合,该 集合由一些大吨位的卡车组成。你可以用元素列 表的方法直接输入每一辆大吨位的卡车名字。当 然,你也可以用下面的元素过滤器完成这件工作: HEAVY_DUTY(TRUCKS) | CAPACITY(&l) #GT# 50000:;演示 5.2 模型的集合域
5.2 模型的集合域 我们为这个集合取名为HEAVY DUTY,.是从 老子集合TRUCK:派生而成。垂直符号①是元素过 滤器的开始标志。这个元素过滤器只允许那些载 重量(CAPACITY(&))超过(#GT#)50,000的卡车 进入集合HEAVY DUTY。过滤器中的符号“&I 是集合索引占位符。当用元素过滤器生成派生集 合的时候,LNGO首先形成老子集合元素的所有 配对。然后再将每一个配对送入元素过滤器看看 是否通过测试。第一个老子集合的索引值送入 &1, 第二个老子集合的索引值送入&2,如此等
26 我们为这个集合取名为HEAVY_DUTY,是从 老子集合TRUCK派生而成。垂直符号(|)是元素过 滤器的开始标志。这个元素过滤器只允许那些载 重量(CAPACITY (&1) )超过(#GT#)50,000的卡车 进入集合HEAVY_DUTY。过滤器中的符号“&1” 是集合索引占位符。当用元素过滤器生成派生集 合的时候,LINGO首先形成老子集合元素的所有 配对。然后再将每一个配对送入元素过滤器看看 是否通过测试。第一个老子集合的索引值送入 &1,第二个老子集合的索引值送入&2,如此等 等。 5.2 模型的集合域
5.2模型的集合域 由于在这个例子中只有一个老子集合(TRUC ),所以,&2没有出现。符号#GT#是逻辑运算 符,表示“大于”。LNGO中的其它逻辑运算符 如下: #EQ# 相等 #NE# 不相等 #GE# 大于或等于 #LT# 小于 #LE 小于或等于 27
27 由于在这个例子中只有一个老子集合(TRUC K),所以,&2没有出现。符号#GT#是逻辑运算 符,表示“大于” 。LINGO中的其它逻辑运算符 如下: u #EQ# 相等 u #NE# 不相等 u #GE# 大于或等于 u #LT# 小于 u #LE# 小于或等于 5.2 模型的集合域