PostScript statusdict 名称查找顺序
PostScript statusdict name lookup order
在 Lvl 2,3,你在 dictstack 上有这个:
systemdict | globaldict | userdict
在 Lvl 1,你有 statusdict 和产品相关的运营商。
据我了解,statusdict 是一本字典,可以通过 "systemdict" 中的 "statusdict" 键访问。 (如果我错了请纠正我)。
通常,如果您进行名称查找,它首先在 userdict 中查找,然后在 globaldict 中查找,最后在 systemdict 中查找。
假设我在语言级别 2 或 3,我有 systemdict、globaldict 和 userdict。为了兼容性,我也有 statusdict。
如果您有 statusdict,名称查找的顺序是什么?解释器是在 systemdict 之前还是在 systemdict 之后检查 statusdict? (或另一点?)
我记得(自从我看了第 1 级以来已经有很长时间了)使用 statusdict 中的运算符的唯一方法是发出特定的 'statusdict begin' 以将字典推送到字典堆栈上,或者相似。
例如,Ghostscript 的 statusdict 实现旧级别 1 'setpage',如果您尝试:
612 792 0 setpage
然后你会得到一个'undefined'错误。然而这个:
statusdict begin 612 792 0 setpage end
会起作用。我在另一个 3 级解释器上尝试了类似的东西,结果相同。
所以我想说你不需要担心查找statusdict,任何想要使用它的内容的代码必须先把它放在字典堆栈上,使用get或类似的方法来访问字典。
在 Lvl 2,3,你在 dictstack 上有这个:
systemdict | globaldict | userdict
在 Lvl 1,你有 statusdict 和产品相关的运营商。 据我了解,statusdict 是一本字典,可以通过 "systemdict" 中的 "statusdict" 键访问。 (如果我错了请纠正我)。
通常,如果您进行名称查找,它首先在 userdict 中查找,然后在 globaldict 中查找,最后在 systemdict 中查找。
假设我在语言级别 2 或 3,我有 systemdict、globaldict 和 userdict。为了兼容性,我也有 statusdict。 如果您有 statusdict,名称查找的顺序是什么?解释器是在 systemdict 之前还是在 systemdict 之后检查 statusdict? (或另一点?)
我记得(自从我看了第 1 级以来已经有很长时间了)使用 statusdict 中的运算符的唯一方法是发出特定的 'statusdict begin' 以将字典推送到字典堆栈上,或者相似。
例如,Ghostscript 的 statusdict 实现旧级别 1 'setpage',如果您尝试:
612 792 0 setpage
然后你会得到一个'undefined'错误。然而这个:
statusdict begin 612 792 0 setpage end
会起作用。我在另一个 3 级解释器上尝试了类似的东西,结果相同。
所以我想说你不需要担心查找statusdict,任何想要使用它的内容的代码必须先把它放在字典堆栈上,使用get或类似的方法来访问字典。