为什么不能在 PURE 过程中使用 INQUIRY 语句
Why can't INQUIRY statements be used inside PURE procedures
我看到 INQUIRE
语句在 PURE
过程中是不允许的。为什么会这样? INQUIRE
语句不是没有任何副作用,因此它本身就是 PURE
吗?
我并不假装对语言标准委员会或其成员的工作有任何了解,所以这是我对情况的解读:
查询语句可能没有副作用,因为它们不会导致任何状态更改,但执行两次相同的查询语句并不能保证给出相同的答案。另一个进程可能会在两次查询之间删除一个文件。它(也许)是一种更微妙的杂质,但仍然是一种杂质。
我看到 INQUIRE
语句在 PURE
过程中是不允许的。为什么会这样? INQUIRE
语句不是没有任何副作用,因此它本身就是 PURE
吗?
我并不假装对语言标准委员会或其成员的工作有任何了解,所以这是我对情况的解读:
查询语句可能没有副作用,因为它们不会导致任何状态更改,但执行两次相同的查询语句并不能保证给出相同的答案。另一个进程可能会在两次查询之间删除一个文件。它(也许)是一种更微妙的杂质,但仍然是一种杂质。