首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Gambas在函数调用后Dim变量后会给我一个错误?

为什么Gambas在函数调用后Dim变量后会给我一个错误?
EN

Stack Overflow用户
提问于 2019-03-03 12:05:20
回答 2查看 163关注 0票数 1

我在玩甘巴舞。

这段代码给我的错误是“FMain.class:6中的意外暗淡”

代码语言:javascript
复制
Public Sub Form_Open()

  Print "this won't work"

  Dim nickname As String = "gambas"

  Print "Your new name is " & nickname

End

这段代码没有,并且运行得很好:

代码语言:javascript
复制
Public Sub Form_Open()

  Dim nickname As String = "gambas"

  Print "Your new name is " & nickname  

End

gambas有像pascal一样声明变量的要求吗?我在文档中找不到任何提到它的地方。谢谢。

EN

回答 2

Stack Overflow用户

发布于 2019-03-03 12:13:40

Gambas要求将所有DIM语句放在函数或子例程(重点是我的)中的任何可执行代码之前:

http://gambaswiki.org/wiki/lang/dim

所有DIM声明必须位于FUNCTIONSUB 中第一个可执行命令之前。

因此,将您的代码更改为:

代码语言:javascript
复制
Public Sub Form_Open()

  Dim nickname As String = "gambas"

  Print "this will work"

  Print "Your new name is " & nickname

End

Gambas对所有局部变量的正向声明的要求非常老套。有时,它确实使编写自文档化代码变得更容易,并促使函数变得简短,但如果函数有许多无法立即初始化的中间短期局部变量(例如,在函数内的嵌套循环中),那么它就会阻碍可读性。YMMV.

票数 1
EN

Stack Overflow用户

发布于 2019-07-02 23:21:14

从Gambas 3.12开始,这不再是必需的。

但我建议继续在顶部函数中声明变量。它使代码在两年后更具可读性。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54965473

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档