我注意到没有地方能够给出上述问题的明确答案。当我注意到在QBasic中声明变量时,您从不必须说明变量的类型时,我首先想到了这个问题,尽管您可以添加后缀到变量名称以确保它属于特定类型。
此外,由于一些BASIC方言是解释性的,而其他方言是编译性的,那么这是否会影响类型系统?
$
符号制作一个字符串变量。没有$
符号的变量通常会默认为给定basic类型支持的数字变量类型(整数或浮点数)。例如,GWBasic默认为浮点数,除非您指定了%
符号,这意味着“整数”。TI扩展基本不具有整数类型,但是浮点数数字类型具有大约15个有效数字,如果我回忆得正确的话(浮点数数学错误除外)。早期的BASIC方言总是静态类型。数字变量、字符串变量和数组分别需要不同的语法。此外,名称长度通常仅限于一个符号。最常用的语法只是用 V
表示数字,V$
表示字符串,而数组则需要用 DIM
单独声明。
由于我已经有15年没有使用过BASIC编程语言了,所以我不能确定现代方言中发生了什么。
在MultiValue数据库系统中使用的BASIC增强版采用动态类型。这意味着编译器根据语句的逻辑和上下文来决定如何处理变量。
双引号中的任何内容都是字符串,而不在双引号中的任何数字值都是数字。为了以double或float的形式写入数字数据,您可以使用各种格式表达式来实现,然后将其应用于您的变量。
最终,所有内容都保存在数据库级别的ASCII字符串中。因此,开发人员在业务逻辑级别强制执行类型,而不是由数据库强制执行。