跨平台freebasic集锦(3)-基本语法(2)-dim(2)
创始人
2024-05-15 06:35:37
0

目录

  • dim例子
    • 语法
      • 一行多个变量
      • 共享

dim例子

语法

一行多个变量

dim x as integer,y as integer,z as string
x=11
y=22
z="hello"
print z;y;x
F:\learn\fbs>1
hello 22 11F:\learn\fbs>
dim  as integer x,y 
dim z as string
x=11
y=22
z="hello"
print z;y;x

共享

变量声明修饰符,指定整个模块的可见性

 Dim Shared ...
Redim Shared ...
Common Shared ...
Static Shared ...
[Static] Var Shared ...

共享使模块级变量在Subs和Functions中可见。
如果在模块级变量的声明中未使用Shared,则该变量仅对该文件中的模块级代码可见(此外,堆栈中只存储使用Dim声明的变量,而不存储在命名空间块中)。
注意(对于共享变量,不包括公共变量):

  • 通常,共享变量只能用常量值初始化(其起始值在运行任何代码之前设置在.data部分的程序开始处,因此它不能依赖于其中的任何变量或函数)。
  • 第一个例外是var-len字符串类型的共享变量,即使使用常量字符串也无法初始化该变量(因为它的结构在.data部分中带有描述符,但指向动态内存块)。
  • 第二个例外是一个用户定义类型的共享变量,它有一个构造函数,甚至是隐式的,可以用一个非常量值初始化(因为它是程序启动时调用的构造函数代码,它将“初始”值写入.data节)。
'' Compile with -lang qb or fblite'$lang: "qb"Declare Sub MySub
Dim Shared x As Integer
Dim y As Integerx = 10
y = 5MySubSub MySubPrint "x is "; x 'this will report 10 as it is sharedPrint "y is "; y 'this will not report 5 because it is not shared
End Sub

要从本地作用域块访问全局命名空间中定义的共享变量的重复符号,请添加一个或两个点作为前缀:.SomeSymbol,或最好是..SomeSymbol(如果在With.End With块内,则仅为 ..SomeSymbol)。


F:\learn\fbs>1
x is  10
y is  0
Declare Sub MySub
Declare Sub PrintZ
Dim Shared x As Integer
Dim y As Integer
Dim Shared z As Integer
z=111
x = 10
y = 5MySub
printZ
Sub MySubPrint "x is "; x 'this will report 10 as it is shared
End SubSub PrintZDim z As Integerz=19    Print "shared z is ";.z  Print "z is ";z 
End Sub
F:\learn\fbs>1
x is  10
shared z is  111
z is  19
Declare Sub PrintZ
Dim Shared As Integer z1,z2 
z1=111
z2=109printZSub PrintZDim z1 As Integerz1=19    Print "shared z1 is ";.z1  Print "z1 is ";z1Print "shared z2 is ";z2
End Sub
F:\learn\fbs>1
shared z1 is  111
z1 is  19
shared z2 is  109

与QB的区别:

作用域块内的Shared语句(函数、subs、if/thens和循环)不受支持。
在主程序中改用Dim|Redim|Common|StaticShared。
或者,如果您在一个作用域块内,并重新导入以前使用Shared设置的变量或数组,只需在不使用Shared的情况下执行Redim;它会工作得很好,不会破坏任何东西。

只有在-lang qb-lang fblite方言中,可以在不首先声明变量的情况下使用变量,在这种情况下,它们被称为隐式变量

相关内容

热门资讯

南宋时期有哪些战役? 南宋时期有哪些战役?钓鱼城、襄樊、崖山除外采石之战 柘皋之战 顺昌战役
总是强迫怀疑自己所说的话 说话... 总是强迫怀疑自己所说的话 说话时候总怕自己把内心同时所想的说了出来 说过话后还不肯定 然后是努力回想...
四月动漫新番更新时间? 四月动漫新番更新时间?就四月上询的样子 其实到时你可以买动感新势力的 会介绍很多动漫的 最近7月 ...
小鸭子在水里游泳怎么形容 小鸭子在水里游泳怎么形容小鸭子在水里游泳的形容如下:1.夏日的午后,小鸭子在池塘里嬉戏玩耍。它们红嘴...
苹果像什么? 苹果像什么?苹果像什么?请学霸告诉我。您好,红红的苹果像灯笼,像太阳,像脸蛋等等,具体衡派可以有以下...
你是我的命中注定拼音? 你是我的命中注定拼音?你是我命中注定的拼音,是太简单了,我们从小学就开始学开了你是我的命中注定拼音:...
万般皆下品,惟有读书高,这话是... 万般皆下品,惟有读书高,这话是什么意思?说的对吗?学做任何东西都是低俗的,只要读书才是上乘的品味是这...
这是什么狗? 这是什么狗?这种狗狗是萨摩耶,因为它笑起埋姿仿来弯纤很可爱,所以它也叫微笑册扰天使,萨摩耶颜色通常都...
求小说 热血传奇类 主角把传奇... 求小说 热血传奇类 主角把传奇技能带到现实中 召唤的骷髅的名字叫老顽童没见到过,你《法师传奇》看过没...
有在地下会走动的活宝,金兔子? 有在地下会走动的活宝,金兔子?人类有很多未解之迷,在地里面是不可能会走动的 在地面上会走动的兔子那实...
自信的表现有哪些呢? 自信的表现有哪些呢?其实,人要正确看待自己。明白自己的闪光点然后,让自己的长处得以发挥。这是最基本的...
以柯哀结局的可能性 以柯哀结局的可能性动画片中说明可能柯哀结局的和自己的看法不可能在一起的。新兰这么多年的感情怎么会毁在...
《珍妮姑娘》的简介 《珍妮姑娘》的简介女主人公珍妮的父母是穷困潦倒的德国移民,为了解救家庭的厄运,她先委身于参议员布兰德...
《高山流水》是一种怎样的意境? 《高山流水》是一种怎样的意境?古乐嘛,都有一种我欲乘风归去的感觉,你可以想象一个仙风道骨的男子,束着...
莫泊桑项链概括 莫泊桑项链概括 玛蒂尔特是一位漂亮的女子,她的丈夫是一个普通的小职员。她虽然地位低下,却迷恋豪华...
读了种植春天里有什么感想 读了种植春天里有什么感想我的感想是:相当虚,完全不现实,而且有故意装嫩、无病呻吟之嫌。
我是初中生各方面都不错,除了英... 我是初中生各方面都不错,除了英语,我英语除了26个字母其他都不会,老师上课我都听不懂,请问有什么方法...
吴带当风的成语典故 吴带当风的成语典故宋·郭若虚《图画见闻志·论曹吴体法》:“吴带当风,曹衣出水。”
作文题目:《初见xx》 比如:... 作文题目:《初见xx》 比如:老师,同学,亲人!谢了!快!初见谢了谢了,经验到手。。。
传奇归来道士强化召唤神兽 训兽... 传奇归来道士强化召唤神兽 训兽术是个什么情况?召唤神兽能强化3 5级然后学习训兽术以后是个什么情况与...