关于这个线程,这也是我想要做的,但我在这方面有更多的余地。
我的问题是我目前正在开发一个定义程序(用于我的 ti-89 钛)来写出变量的定义。但是,考虑到我要添加的变量数量不定,我认为一遍又一遍地使用定义函数会浪费内存和处理能力。所以我的想法是将变量保存到另一个变量中,以便在程序的后面部分中定义。
prompt x
lbl x_d_r
x_d_r->q:Goto def
lbl def
define expr(q)[1]=x
其中 x_d_r 没有赋值。所以该程序应该使用定义的字符串作为列表值是 x。然而,明显的错误出现了。
所以我在主屏幕和程序屏幕上玩了一会儿,遇到了 entry(1) 和 ans(1)。回头看看 ti-83(或 84)我基本上可以去(如果我没记错的话)
disp q*1
x->ans(1)
然而,关于 ti-89 钛的 ans(1) 是基于提交给主屏幕的最后一个答案。即使这样,程序中的 ans(1) 或 entry(1) 也会被替换掉。幸运的是,我找到了避免这种情况的方法。
Prgm
expr(char(120)&char(22)&char(97)&char(110)&char(115)&char(40)&char(49)&char(41))
EndPrgm
对于那些不知道的人,这只是简单地表达 x->ans(1) ,这是代码在程序中传输 ans(1) 的一种方式,而无需删除代码。
但它仍然不起作用,因为需要将值发送到主屏幕才能正确记录。这是 ti-84 或 ti-83 我希望它在钛金属上仍然具有的优势之一。所以我花了一些时间寻找如何在程序中将 q 的值显示到主屏幕的方法。 到目前为止,我了解到直接从主屏幕使用的函数会将 q 的值返回到同一个位置。但是我无法在实际程序中实现这一点,因为该函数不希望将值传输到主屏幕,并且它在程序中相当无用。
其次,我发现这个网站详细介绍了将值返回到主屏幕的方法。虽然方法 1 似乎有希望,但我似乎没有任何方法可以访问该文件夹/程序。很可能是因为它是他制作的,并且没有在 pdf 上分享它的位置。我确实喜欢 expr("q"&":stop"),但是 q 没有被评估出来,所以也许我不得不以某种方式重新设计它。
在发生这种情况时,我认为其他一些想法可能是在程序中使用粘贴键,但我不知道如何实现从 getkey 中找到的东西,更不用说第二个和抓取按钮是如何影响的了。
或者我可以以某种方式让 ans(1) 查看主屏幕以外的其他地方。最好是 i/0 屏幕,但也可能是其他一些列表或数据矩阵。
有人对如何通过函数、粘贴或其他方式将值传递到主屏幕有任何想法,并且我之前定义的程序是否将其定义为值?
UPDATE+1 好吧,我开始怀疑我是否让它变得比它需要的更复杂......
毕竟,我只选择 just x->x_d_r[1]
,这已经在别处定义了。它也打败了x->q:Goto def
Lbl def
Define expr(q)=x
(或者类似调用历史记录程序来定义值的东西?)在处理速度和内存计数方面?