Iいくつかの変数に関するブール式を、を操作するTI-BASICプログラムに渡しますIが、ブール式は、プログラムの実行の開始時に1回だけ評価されます。
サンプルプログラムは次のとおりです。
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ずつインクリメントします。インクリメントするたびに、trueかどうかを確認Jし、trueの場合は停止します。
渡すとJ=I≠5、印刷後にプログラムが停止します1。
渡した場合J=I=5、結果は期待できません。trueのときにプログラムを停止するつもりですI=5が、代わりにプログラムが無期限に続行されます。これはJ、プログラムの開始時にのみ評価されることを意味します。
そのループを実行するたびに再評価Jすることは可能ですか?
私はそれJがに置き換えられ、渡される0と1すぐに置き換えられると思います。私の質問を言い換えると、ブール式を未評価の文字列/リテラルとして入力/保持することは可能ですか?eval(J)次に、プログラム内のようなものを呼び出します。