Что означает DIM в Visual Basic?
vb6
language-design
basic
Ник Кацивелос
источник
источник
Dim
были разные значения, приписываемые ему.Я нашел ссылки о
Dim
значении «Объявить в памяти» , более релевантной является документ по Dim Statement, опубликованный Oracle как часть справочника по языку Siebel VB. Конечно, вы можете утверждать, что если вы не объявляете переменные в памяти, где вы это делаете? Может быть, «Объявить в модуле» является хорошей альтернативой, учитывая, какDim
используется.На мой взгляд, «Объявить в памяти» на самом деле является мнемоникой , созданной, чтобы облегчить изучение, как использовать
Dim
. Я вижу «Объявить в памяти» как лучшее значение, так как оно описывает то, что он делает в текущих версиях языка, но это не правильное значение.На самом деле, у истоков Basic
Dim
использовался только для объявления массивов. Для обычных переменных ключевое слово не использовалось, вместо этого их тип был выведен из их имени. Например, если имя переменной заканчивается на$
это, то это строка (это то, что вы могли видеть, например, даже в именах методов вплоть до VB6Mid$
). И так, вы использовалиDim
только, чтобы дать размерность массивам (обратите внимание, чтоReDim
размеры массивов).Действительно, это имеет значение ? Я имею в виду, это ключевое слово, оно имеет значение внутри искусственного языка. Это не должно быть слово на английском или любом другом естественном языке. Так что это может означать, что вы хотите, все, что имеет значение, это то, что это работает.
Во всяком случае, это не совсем так. Поскольку BASIC является частью нашей культуры, и понимание того, почему оно стало таким, как оно есть, - я надеюсь, - поможет улучшить наше видение мира.
Я сижу у своего компьютера с желанием помочь сохранить этот маленький кусочек нашей культуры, который кажется потерянным, вместо того, чтобы угадывать, что это было. Итак, я выкопал MSDN как текущие, так и старые компакт-диски из версии 1998 года. Я также искал документацию для старого QBasic [Пришлось использовать DOSBox] и сумел получить руководство по Darthmouth, чтобы узнать, о чем они говорят
Dim
. К моему разочарованию, они не говорят, что означаетDim
, а говорят только, как это используется.Но до того, как моя надежда смутилась, мне удалось найти это руководство по использованию микрокомпьютерной системы BBC (которое, как утверждается, относится к 1984 году, и я не хочу в этом сомневаться). Микрокомпьютер BBC использовал вариант BASIC, названный BBC BASIC, и это описано в документе. Несмотря на то, что он не говорит о том, что означает
Dim
, он говорит (на странице 104):Как я уже сказал, это не говорит о том, что
Dim
означает измерение, но служит доказательством того, что общениеDim
с нимDimension
было обычным делом во время написания этого документа.Позже я получил приятный сюрприз (на странице 208), заголовок раздела, описывающего ключевое слово DIM (примечание: его нет в содержании), гласит:
Итак, я не получил цитату «Дим обозначает ...», но, думаю, ясно, что любой порядочный человек, способный прочитать этот документ, сочтет, что это
Dim
означает измерение.С новой надеждой я решил поискать, как
Dim
был выбран. Опять же, я не нашел аккаунта на эту тему, но все же смог найти точную цитату:Вы можете найти это как часть Руководства пользователя True BASIC Online на веб-странице True BASIC inc, компании, основанной Томасом Юджином Курцем , соавтором BASIC.
Таким образом, в действительности
Dim
это сокращение дляDIMENSION
, и да. Это существовало в Фортране и раньше, поэтому вполне вероятно, что оно было выбрано под влиянием Фортрана, как сказал Патрик Макдональд в своем ответе .источник
Dim
самом деле означаетЭто сокращение от Dimension, так как оно изначально использовалось в BASIC для указания размера массивов.
Ссылка: http://en.wikipedia.org/wiki/Dartmouth_BASIC
Часть исходного исходного кода компилятора BASIC, куда он будет переходить при поиске
DIM
команды, в которой вы можете четко увидеть исходное намерение для ключевого слова:Ссылка: http://dtss.dartmouth.edu/scans/BASIC/BASIC%20Compiler.pdf
Позже он стал использоваться для объявления всех видов переменных, когда в более поздних реализациях была добавлена возможность указывать тип для переменных.
источник
Измерение переменной, в основном вы говорите компилятору, что в какой-то момент вам понадобится переменная этого типа.
источник
Он обозначает Dimension, но обычно читается как «Создать переменную» или «Выделить пространство для этого».
источник
Объявление переменной. Первоначально, это было сокращение от «измерение», которое не является термином, который используется в программировании (вне этого конкретного ключевого слова) в какой-либо значительной степени.
http://in.answers.yahoo.com/question/index?qid=20090310095555AANmiAZ
источник
DIM расшифровывается как объявление в памяти. DIM x As New Integer создает в памяти пространство, в котором хранится переменная x.
источник
В свое время DIM зарезервировал память для массива, и когда память была ограничена, вы должны были быть осторожны, как вы ее использовали. Однажды я написал (в 1981 году) программу BASIC для TRS-80 Model III с 48 КБ ОЗУ. Он не будет работать на аналогичной машине с 16 КБ ОЗУ, пока я не уменьшу размер массива, изменив оператор DIM
источник
Коротко для измерения. Это тип переменной. Вы заявляете (или «говорите» Visual Basic), что настраиваете переменную с этим словом.
источник
Ключевое слово Dim является необязательным, когда мы используем его с модификаторами: Public, Protected, Friend, Protected Friend, Private, Shared, Shadows, Static, ReadOnly и т. Д. Например:
Static nTotal As Integer
Для ссылочного типа мы должны использовать ключевое слово new для создания нового экземпляра класса или структуры. например
Dim lblTop As New System.Windows.Forms.Label
.Оператор Dim может использоваться без типа данных, если для параметра Option Infer установлено значение On . В этом случае компилятор выводит тип данных переменной из типа ее выражения инициализации. Пример :
Вышеприведенное утверждение эквивалентно
Dim nExpVar As Integer
источник