我试图检查堆栈顶部的数字是偶数还是奇数而不影响我的堆栈,因为我在递归函数中使用了它。我也尝试过两次弹出,但是此代码仍然使函数混乱。
dup 2 0 mod eq
{ 0 0 0 setrgpcolor}
{0.6 0.6 0.6 setrgpcolor}ifelse
pop
您将参数的顺序弄错了。一次执行一个步骤(假设最高堆栈号为123
):
123
dup 2 0 mod eq
做dup
:
123 123 2 0 mod eq
做mod
对2 0
(!)
123 123 --undefined-- eq
而且eq
太少了,太晚了...
交换2个操作数以获得正确的结果:
dup 2 mod 0 eq
{ .. number is even ..}
{ .. number is odd ..} ifelse
(注意:是setrgpcolor
拼写错误,还是真的有这样的颜色模型?)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句