【发布时间】:2018-10-12 16:38:20
【问题描述】:
require
valid_item: attached item as l_i and then l_i.valid_for_insert or l_i.valid_for_update
为什么我这里的 l_i 有一个未知的标识符??!!!
【问题讨论】:
标签: design-by-contract eiffel void-safety
require
valid_item: attached item as l_i and then l_i.valid_for_insert or l_i.valid_for_update
为什么我这里的 l_i 有一个未知的标识符??!!!
【问题讨论】:
标签: design-by-contract eiffel void-safety
试试
valid_item: attached item as l_i and then (l_i.valid_for_insert or l_i.valid_for_update)
注意你也可以这样做
item_set: attached item as l_i
valid_item: l_i.valid_for_insert or l_i.valid_for_update
您可以重用先前前提条件中的对象测试局部变量l_i。
【讨论】:
a and then b or c 是 (a and then b) or c - and,and then 行为相同。 and then 用于确保仅当“左”操作数为 True 时才计算“右”操作数。它也用于 Void 安全,因为通常正确的操作数必须应用于非 Void 对象。