Vb6 DIM在Visual Basic和Basic中代表什么?

Vb6 DIM在Visual Basic和Basic中代表什么?,vb6,language-design,basic,Vb6,Language Design,Basic,在Visual Basic中,Dim代表什么?标注变量,基本上是告诉编译器在某个时候需要这种类型的变量。变量声明。最初,它是“维度”的缩写,在编程中(在这个特定的关键字之外)并没有使用这个术语 Dim最初(在BASIC中)代表维度,因为它用于定义数组的维度 (BASIC最初的实现是was,它是FORTRAN的后代,在FORTRAN中详细说明了维。) 如今,Dim用于定义任何变量,而不仅仅是数组,因此其含义不再直观。它是维度的缩写,因为它最初在BASIC中用于指定数组的大小 DIM-(维度的缩写)

在Visual Basic中,
Dim
代表什么?

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

变量声明。最初,它是“维度”的缩写,在编程中(在这个特定的关键字之外)并没有使用这个术语

Dim最初(在BASIC中)代表维度,因为它用于定义数组的维度

(BASIC最初的实现是was,它是FORTRAN的后代,在FORTRAN中详细说明了维。)


如今,Dim用于定义任何变量,而不仅仅是数组,因此其含义不再直观。

它是维度的缩写,因为它最初在BASIC中用于指定数组的大小

DIM-(维度的缩写)定义数组的大小

参考:

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

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 $
       ...
参考:


后来它被用来声明各种变量,在最近的实现中增加了为变量指定类型的可能性。

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

回到过去,阵列的保留内存变暗,当内存有限时,您必须小心使用它。我曾经(1981年)在TRS-80型号III上写过一个基本程序,内存为48Kb。在我通过更改DIM语句来减小数组大小之前,它不会在具有16Kb RAM的类似机器上运行。DIM具有不同的含义

我找到了关于
Dim
意思是“在内存中声明”的参考文献,更相关的参考文献是作为Siebel VB语言参考文献的一部分发布的Oracle文档。当然,你可能会争辩说,如果你不在内存中声明变量,你在哪里做?考虑到
Dim
的使用方式,“在模块中声明”可能是一个不错的选择

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

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


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

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


我坐在电脑前,希望能帮助保存我们文化中的这一小块似乎已经消失的东西,取而代之的是我们对它是什么的猜测。因此,我从1998年的版本中挖掘了MSDN的最新和旧CD。我还在文档中搜索了旧的QBasic[不得不使用DOSBox],并设法找到了一些达斯茅斯手册,所有这些都是为了找到他们如何谈论
Dim
。让我失望的是,他们没有说Dim代表什么,只说它是如何使用的

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

。。。您可以将N$标注为任意多的条目。对于 例如,DIM N$(1000)将创建一个字符串数组,其空间为1000 不同的名字

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

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

数组的维数

<> P>所以,我没有得到“DIM代表……”的引用,但是我想很明显,任何一个能够阅读这些文档的体面的人都会认为<代码> Dime意味着维度。


怀着新的希望,我决定搜索
Dim
是如何被选中的。同样,我没有找到关于这个主题的描述,但我仍然能够找到一个明确的引语:

在使用数组之前,必须在DIM(dimension)语句中定义它

您可以在TrueBasic inc.的网页上找到这篇文章,该公司是由《BASIC》的合著者之一创建的


因此,实际上,
Dim
维度的缩写,是的。它以前存在于FORTRAN中,所以很可能是受FORTRAN的影响而被选为



DIM代表记忆中的宣言 DIM x作为新整数
在内存中创建一个存储变量x的空间

是维度的缩写。这是一种变量。您可以声明(或“告诉”Visual Basic)您正在使用此单词设置变量。

当我们将Dim关键字与修饰符(Public、Protected、Friend、Protected Friend、Pr)一起使用时,Dim关键字是可选的
Dim sum as string = "this is not a chinese meal" REM example usage in VB.NET ;)
Option Infer On

Module SampleMod

Sub Main()

 Dim nExpVar = 5