我将某个变量的布尔表达式传递给I
操作的 TI-BASIC 程序I
,但布尔表达式只计算一次 - 在程序执行开始时。
这是一个示例程序:
Prompt J
0 -> I
Lbl 1
1 + I -> I
Disp I
If J
Then
Goto 2
Else
Goto 1
End
Lbl 2
End
(这不是我正在编写的实际程序,它更复杂,因此不能使用 for 循环;上面的程序显然可以用 for 循环更优雅地编写。)
我们I
从数字 0 开始递增 1。每次递增后,我们检查是否J
为真,如果是,则停止。
如果我通过J=I≠5
,程序在打印后停止1
。
如果我传入J=I=5
,则不会出现预期结果。我打算让程序在为真时停止I=5
,但程序会无限期地继续。这意味着J
仅在程序开始时评估。
是否可以在该循环的每次执行中重新评估J
?
我假设它J
被替换为0
and 1
,一旦它被传入。为了改写我的问题,是否可以将布尔表达式输入/保留为未评估的字符串/文字?然后我会在程序中调用类似的东西eval(J)
。