跳至內容

TI-BASIC 68K/數據類型與可見域

計算器百科,非營利的計算器專業知識百科。
於 2018年10月19日 (五) 06:46 由 Dousha99留言 | 貢獻 所作的修訂 (或许该添加点例子)
(差異) ←上個修訂 | 最新修訂 (差異) | 下個修訂→ (差異)

變量

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 聲明的變量則僅在當前程序內可用,程序結束後由操作系統回收。