关于vb6:在VisualBasic和Basic中,dim代表什么?

What does DIM stand for in Visual Basic and BASIC?

在VisualBasic中,dim代表什么?


dim最初(基本上)代表维度,因为它用于定义数组的维度。

(basic的最初实现是dartmouth basic,它是由fortran派生而来,fortran中的维数是拼写出来的。)

现在,dim被用来定义任何变量,而不仅仅是数组,因此它的含义不再是直观的。


Dim有不同的含义。

我发现了有关Dim的引用,意思是"在内存中声明",更相关的引用是作为siebel vb语言引用的一部分发布在Oracle上的dim语句文档。当然,您可能会争辩说,如果您不声明内存中的变量,那么在哪里声明呢?考虑到使用Dim的方式,"在模块中声明"可能是一个不错的选择。

在我看来,"在记忆中声明"实际上是一个助记词,它是为了更容易学习如何使用Dim。我认为"在内存中声明"是一个更好的含义,因为它描述了它在当前版本的语言中所做的工作,但它不是正确的含义。

实际上,在基本Dim的起源处,只用于声明数组。对于常规变量,没有使用关键字,而是从其名称推断其类型。例如,如果变量名以$结尾,那么它是一个字符串(即使在vb6之前的方法名中也可以看到这个字符串,例如Mid$)。因此,您使用Dim只是为了给数组提供维度(注意,ReDim调整数组的大小)。

真的,重要吗?我是说,它是一个关键词,在人工语言中有它的意义。它不必是英语或任何其他自然语言中的一个词。所以这可能意味着无论你想要什么,重要的是它能起作用。

无论如何,这不是完全正确的。因为基础是我们文化的一部分,理解它为什么会变成现实——我希望——将有助于改善我们对世界的看法。

我坐在电脑旁,渴望帮助我们保存这一小块似乎已经消失的文化,取而代之的是我们对它是什么的猜测。所以,我从1998年的版本中挖掘了最新和最旧的CD。我还搜索了旧的qbasic文档(必须使用dosbox),并设法获得了一些darthmouth手册,所有这些都是为了找到他们如何谈论Dim。令我失望的是,他们没有说Dim代表什么,只说它是如何使用的。

但在我希望渺茫之前,我设法找到了这套BBC微机系统使用指南(据称是1984年的指南,我不想怀疑)。BBC的微型计算机使用了一种称为BBC BASIC的BASIC变体,并在文档中进行了描述。尽管它没有说明Dim代表什么,但它说(在第104页):

... you can dimension N$ to have as many entries as you want. For
example, DIM N$(1000) would create a string array with space for 1000
different names.

正如我所说,它并不是说Dim代表维度,而是证明在编写该文档时,将DimDimension关联是一件很常见的事情。

现在,我在后面(第208页)得到了一个惊喜,描述dim关键字的部分标题(注:内容中没有列出)说:

DIM dimension of an array

所以,我没有得到"dim代表…"的引语,但我想很明显,任何一个有能力阅读这些文档的体面的人都会认为Dim代表维度。

带着新的希望,我决定研究如何选择Dim。同样,我没有找到关于这一主题的说明,但我仍然能够找到一个确定的引用:

Before you can use an array, you must define it in a DIM (dimension) statement.

你可以在由《基础》的合著者托马斯·尤金·库尔茨创建的公司TrueBasic Inc.的网页上找到它作为《基础》在线用户指南的一部分。

所以,实际上,DimDimension的简写,是的。这在Fortran之前就已经存在了,所以它很可能是由Fortran的影响选择的,正如Patrick McDonald在他的回答中所说。

1
Dim sum as string ="this is not a chinese meal" REM example usage in VB.NET ;)


它是dimension的缩写,因为它最初在basic中用于指定数组的大小。

DIM — (short for dimension) define the size of arrays

参考:http://en.wikipedia.org/wiki/dartmouth_basic

原始基本编译器源代码的一部分,当找到DIM命令时,它将跳转,在该命令中,您可以清楚地看到关键字的原始意图:

1
2
3
4
5
6
7
8
9
DIM    LDA XR01             BACK OFF OBJECT POINTER
       SUB N3
       STA RX01
       LDA L        2       GET VARIABLE TO BE DIMENSIONED
       STA 3
       LDA S        3
       CAB N36              CHECK FOR $ ARRAY
       BRU *+7              NOT $
       ...

参考:http://dtss.dartmouth.edu/scans/basic/basic%20compiler.pdf

后来,当在最近的实现中添加了为变量指定类型的可能性时,它被用来声明所有类型的变量。


维变量,基本上是告诉编译器在某个时刻需要一个这种类型的变量。


它代表维度,但通常被理解为"创建变量"或"为此分配空间"。


变量声明。最初,它是"dimension"的缩写,这在很大程度上不是用于编程(在这个特定关键字之外)的术语。

http://in.answers.yahoo.com/question/index?合格中介机构=20090310095555aanmiaz


dim表示内存中的声明将x变暗为新整数在内存中创建存储变量x的空间


回到那天,暗淡的为数组保留了内存,当内存有限时,您必须小心使用它。我曾经(1981年)写过一个关于TRS-80 III型48kbRAM的基本程序。在我通过更改dim语句减小数组大小之前,它不会在具有16kb RAM的类似计算机上运行。


尺寸的缩写。它是一种变量。您声明(或"告诉"VisualBasic)正在用这个词设置变量。


dim关键字是可选的,当我们将它与修饰符一起使用时-public、protected、friend、protected friend、private、shared、shadows、static、readonly等。例如-EDOCX1[0]

对于引用类型,我们必须使用new关键字来创建类或结构的新实例。如Dim lblTop As New System.Windows.Forms.Label

设置时,dim语句不能与out a datatype一起使用选项推断为开。在这种情况下,编译器从变量的初始化表达式的类型推断变量的数据类型。例子:

1
2
3
4
5
6
7
Option Infer On

Module SampleMod

Sub Main()

 Dim nExpVar = 5

上述声明相当于-Dim nExpVar As Integer