Atari ST GFA基本:变量后缀对应的是什么?

时间:2014-02-26 10:24:14

标签: basic

我正在给我的Atari ST 520扫除灰尘,并试图理解GFA基本的一些语义细节。 TYPE(ptr)函数以这种方式记录:

     Determines the type of the variable at which a pointer
       is set.
       'ptr' is an integer expression (usually *var).
       TYPE(ptr) returns a code according to the type of
       variable to which 'ptr' is pointing.
           0=var  
           1=var$  
           2=var%  
           3=var!  
           4=var()  
           5=var$()
           6=var%()  
           7=var!()

相同的文档没有谈论这些后缀的含义。 (一定很明显)

我似乎记得$是一个字符串/内存块,%是一个整数,()是一个相同的数组。什么是!什么都没有? !似乎用于0/1变量。

2 个答案:

答案 0 :(得分:5)

这是正确的$ string,%integer ,! boolean,没有(0)是double。

http://www.atari-forum.com/wiki/index.php?title=GFAvariablestutorial

答案 1 :(得分:0)

手册的最终版本规定:

Boolean  !  1 byte (1 bit in arrays)  0 or -1 (FALSE or TRUE)
Byte     |  1 byte                    0 to 255
Word     &  2 bytes                   -32768 to 32767
Long     %  4 bytes                   -2147483648 to 2147483647
Float    #  8 bytes                   2.225073858507E-308 to 3.595386269725E+308
String   $  0 to 32767 bytes          ASCII value 0 to 255 for each character

默认变量类型不显示后缀,可以更改。