在TI-BASIC中,如何仅显示变量时显示变量名称?

时间:2016-05-19 15:48:16

标签: ti-basic ti-nspire

我正在创建一个以变量+变量名称格式显示大量变量的函数。

Define LibPub out(list)=
Func
Local X
for x,1,dim(list)
  list[x]->name // How can I get the variable name here?
  Disp name+list[x]
EndFor
Return 1
EndFunc

2 个答案:

答案 0 :(得分:1)

给定列表值,无法找到其名称。

考虑这个例子:

a:={1,2,3,4}
b:=a               ; this stores {1,2,3,4} in b
out(b)

第1行:首先创建值{1,2,3,4}。然后创建名为a的变量,并将其值设置为{1,2,3,4}

第2行:评估表达式a;结果是{1,2,3,4}。创建名为b的新变量,其值设置为“{1,2,3,4}。

第3行:评估表达式b。变量引用查找b中存储的值。结果是{1,2,3,4}。然后将该值传递给函数out

函数out接收值{1,2,3,4}。给定值,无法知道值是否恰好存储在变量中。此处的值存储在ab中。

但我们也可以查看out({1,1,1,1}+{0,2,3,4})

系统会评估{1,1,1,1}+{0,2,3,4}并获取{1,2,3,4}。然后调用out。值out收到了表达式的结果,但是等效值恰好存储在ab中。这意味着这些值没有名称。

一般来说:变量有名称和值。价值观没有名字。

如果您需要打印名称,请查看字符串。

答案 1 :(得分:0)

这将占用大量内存,但您可以保留一串变量名称,并将每个名称分隔一定数量的字符,并根据您要获取的列表中的变量索引获取子字符串。例如,假设你想要访问索引零,那么你从一个子字符串开始(变量的索引*变量名的长度,indexofvariable * length + length + 1)。 字符串将是这样的:说你有变量foo,bas,random,impetus 字符串将如下存储:“foo bas random impetus”