TI-BASIC 68K/数据类型与可见域
跳到导航
跳到搜索
变量
B68 无需进行变量声明,也无方式强制要求提前声明变量,也无法手动指定变量的类型。
B68 支持符合以下要求的变量名:[A-Za-zΑ-Ωα-ω][A-Za-z_0-9Α-Ωα-ω]{,7}
, 即以大小写字母或希腊字母开头,之后可用字母、希腊字母、数字和下划线的总长不超过 8 的字符串作为变量名。
B68 的变量组织形式是文件夹-变量名(Folder-VarName)进行的。但由于这个系统不支持文件夹的嵌套,所以下文称其为「名字空间」(Namespace)。名字空间只能使用不以数字开头的由字母或数字组成的不多于 8 个字符的字符串命名。
当前默认名字空间可以使用 setFold
函数设置。一般而言,系统初始自带的名字空间为 main
.
要引用在其他名字空间下的变量,可以使用其完全限定名称 名字空间\变量名
. 其中 \
号可以通过 打出。
要向变量赋值,可以通过以下方式进行:
expr -> name
expr -> namespace\name
其中 ->
号通过 键打出。注意到其他的方式,如 name := value
和 value =: 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
声明的变量则仅在当前程序内可用,程序结束后由操作系统回收。