TI-BASIC 68K/数据类型与可见域

计算器百科,非营利的计算器专业知识百科。
跳到导航 跳到搜索

变量

B68 无需进行变量声明,也无方式强制要求提前声明变量,也无法手动指定变量的类型。

B68 支持符合以下要求的变量名:[A-Za-zΑ-Ωα-ω][A-Za-z_0-9Α-Ωα-ω]{,7}, 即以大小写字母或希腊字母开头,之后可用字母、希腊字母、数字和下划线的总长不超过 8 的字符串作为变量名。

B68 的变量组织形式是文件夹-变量名(Folder-VarName)进行的。但由于这个系统不支持文件夹的嵌套,所以下文称其为「名字空间」(Namespace)。名字空间只能使用不以数字开头的由字母或数字组成的不多于 8 个字符的字符串命名。

当前默认名字空间可以使用 setFold 函数设置。一般而言,系统初始自带的名字空间为 main.

要引用在其他名字空间下的变量,可以使用其完全限定名称 名字空间\变量名. 其中 \ 号可以通过 2ND = 打出。

要向变量赋值,可以通过以下方式进行:

expr -> name
expr -> namespace\name

其中 -> 号通过 STO▶ 键打出。注意到其他的方式,如 name := valuevalue =: name 均不可用(因为冒号在 B68 中用于语句分隔)。

数据类型

尽管 B68 是动态类型语言,你依然可以通过 getType 函数进行变量类型检查。下表是 B68 的主要变量类型。

类型名 VAR-LINK 类型名 getType() 返回的字符串 可用 B68 操作 示例
数字 EXPR NUM rwx 1
代数表达式 EXPR EXPR rwx 2*x
列表 LIST LIST rwx {1,2,3}
矩阵 MAT MAT rwx [[1,2][3,4]]
函数 FUNC FUNC --x -
程序 PRGM PRGM --x -
图片 PIC PIC rwx -
绘图数据 GDB GDB --x -
字符串 STR STR rwx "abc"
汇编程序 ASM ASM --x -
其他由汇编或 Flash 程序自定义的类型 ? ? --- -

可见域

所谓可见域(Scope of Variable),就是一个变量名的有效范围。

默认情况下,直接通过 值->变量名 赋值的是当前名字空间下的全局变量,程序结束后仍然会保留;首先通过 Local 声明的变量则仅在当前程序内可用,程序结束后由操作系统回收。