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)
次に、プログラム内のようなものを呼び出します。