Math 如何在postscript中检查偶数或奇数
我试图在不影响堆栈的情况下检查堆栈顶部的数字是偶数还是奇数,因为我在递归函数中使用它。我还尝试了双重弹出,但这段代码仍然弄乱了函数Math 如何在postscript中检查偶数或奇数,math,stack,postscript,modulus,Math,Stack,Postscript,Modulus,我试图在不影响堆栈的情况下检查堆栈顶部的数字是偶数还是奇数,因为我在递归函数中使用它。我还尝试了双重弹出,但这段代码仍然弄乱了函数 dup 2 0 mod eq { 0 0 0 setrgpcolor} {0.6 0.6 0.6 setrgpcolor}ifelse pop 你把论点的顺序搞错了。一次一步(假设顶部堆栈编号为123): 执行dupdup: 123 123 2 0 mod eq 在20上执行mod(!) 而且eq太少,太晚了 交换2个操作数以获得正确的结果: dup 2 m
dup 2 0 mod eq
{ 0 0 0 setrgpcolor}
{0.6 0.6 0.6 setrgpcolor}ifelse
pop
你把论点的顺序搞错了。一次一步(假设顶部堆栈编号为
123
):
执行dupdup
:
123 123 2 0 mod eq
在20
上执行mod
(!)
而且eq
太少,太晚了
交换2个操作数以获得正确的结果:
dup 2 mod 0 eq
{ .. number is even ..}
{ .. number is odd ..} ifelse
(注:
setrgpcolor
是打字错误,还是真的有一个名为so的颜色模型?)
123 123 --undefined-- eq
dup 2 mod 0 eq
{ .. number is even ..}
{ .. number is odd ..} ifelse