回答:
Dimは、元々(BASICでは)配列の次元を定義するために使用されていたため、Dimensionを意味していました。
(BASICの最初の実装は、DIMENSIONが記述されているFORTRANから派生したDartmouth BASICでした。)
現在、Dimは配列だけでなく変数の定義にも使用されているため、その意味は直感的ではなくなりました。
Dim
それに起因するさまざまな意味があった。
"Declare In Memory"のDim
意味についての参照を見つけましたが、より関連性の高い参照は、Siebel VB言語リファレンスの一部としてOracleが公開したDimステートメントに関するドキュメントです。もちろん、メモリ内で変数を宣言しない場合、どこでそれを行うのでしょうか。たぶん、「モジュールで宣言」は、どのように使用されるかを考えると良い選択肢です。Dim
私の意見では、 "Declare In Memory"は実際にはニーモニックであり、使用方法をより簡単に学習できるように作成されていますDim
。「メモリ内で宣言する」は、現在のバージョンの言語で何が行われるかを説明しているため、より良い意味であると思いますが、適切な意味ではありません。
実際、Basicの起源では、Dim
配列を宣言するためだけに使用されていました。通常の変数の場合、キーワードは使用されず、代わりにその名前から型が推測されました。たとえば、変数の名前がで終わる場合、$
それは文字列です(これは、たとえばVB6までのメソッド名でも確認できますMid$
)。そのため、配列に次元をDim
与えるためだけに使用しました(配列のサイズを変更することに注意してください)。ReDim
本当に、それは重要ですか?つまり、人工言語の中で意味を持つキーワードです。英語やその他の自然言語である必要はありません。だから、それはあなたが望むものを意味するだけかもしれません、重要なのはそれが機能することです。
とにかく、それは完全に真実ではありません。BASICは私たちの文化の一部なので、なぜそれがこのようになったのかを理解すること(私は願っています)が世界のビジョンを改善するのに役立ちます。
私は自分のコンピューターの内側から座って、失われたように見える私たちの文化のこの小さな部分を、それが何であったかについての私たちの推測に置き換えられて保存するのを助けたいという願望を持って座っています。それで、私は1998年のバージョンの現在のCDと古いCDの両方をMSDNで掘り下げました。私はまた、古いQBasic [DOSBoxを使用しなければならなかった]のドキュメントを検索し、ダースマスのマニュアルをなんとか手に入れましたDim
。私ががっかりしたのは、彼らが何を意味するのかを言うのではなくDim
、それがどのように使われるのかだけを言っているからです。
しかし、希望が薄れる前に、私はこのBBCマイクロコンピュータシステム使用ガイドを見つけることができました(これは1984年からであると主張しており、疑いたくありません)。BBCマイクロコンピュータは、BBC BASICと呼ばれるBASICの変種を使用し、それはドキュメントに記載されています。何を意味するのかはDim
明記されていませんが、(104ページ):
... N $をディメンション化して、必要な数のエントリを持つことができます。たとえば、DIM N $(1000)は、1000の異なる名前のスペースを持つ文字列配列を作成します。
私が言ったように、それはDim
次元を意味するとは言いませんが、そのドキュメントを書いている時点でとの関連Dim
付けDimension
が一般的であったことを示す証拠となります。
今、私は後で(208ページで)やりがいのある驚きを得ました、DIMキーワードを説明するセクションのタイトル(注:内容にはリストされていません)は次のように述べています:
配列のDIM次元
したがって、「Dimは次を表します...」という見積もりは得られませんでしたが、それらのドキュメントを読むことができる適切な人間であれば、それDim
は次元を意味するものと見なすことは明らかです。
新たな希望を持って、私Dim
は選ばれた方法について検索することにしました。繰り返しになりますが、この件に関するアカウントは見つかりませんでしたが、決定的な引用を見つけることができました。
配列を使用する前に、配列をDIM(次元)ステートメントで定義する必要があります。
これは、BASICの共著者であるThomas Eugene Kurtzが設立したTrue BASIC incのWebページにあるTrue BASIC Online User's Guidesの一部として見つけることができます。
したがって、現実にDim
は、はの省略形でDIMENSION
あり、はい。これは以前にFORTRANに存在していたため、パトリックマクドナルドの回答で述べたように、FORTRANの影響を受けた可能性があります。
Dim sum as string = "this is not a chinese meal" REM example usage in VB.NET ;)
Dim
実際に何を表しているのかを人々に主張するつもりです
当初は配列のサイズを指定するためにBASICで使用されていたため、Dimensionの略です。
DIM —(次元の略)配列のサイズを定義します
参照:http : //en.wikipedia.org/wiki/Dartmouth_BASIC
元のBASICコンパイラソースコードの一部。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 $
...
参照:http : //dtss.dartmouth.edu/scans/BASIC/BASIC%20Compiler.pdf
後で、変数のタイプを指定する可能性がより最近の実装に追加されたときに、すべての種類の変数を宣言するために使用されるようになりました。
変数宣言。当初、「ディメンション」の略でしたが、これはプログラミングで(この特定のキーワード以外で)使用される用語ではありません。
http://in.answers.yahoo.com/question/index?qid=20090310095555AANmiAZ
Dimキーワードは、修飾子とともに使用する場合はオプションです-Public、Protected、Friend、Protected Friend、Private、Shared、Shadows、Static、ReadOnlyなど。例- Static nTotal As Integer
参照型については、我々は使用する必要があり、新しいクラスや構造体の新しいインスタンスを作成するために、キーワードを。例えばDim lblTop As New System.Windows.Forms.Label
。
Option InferをOnに設定すると、Dimステートメントをデータ型なしで使用できます 。その場合、コンパイラーは初期化式の型から変数のデータ型を推測します。例:
Option Infer On
Module SampleMod
Sub Main()
Dim nExpVar = 5
上記のステートメントは、 Dim nExpVar As Integer