DIMはVisual Basicで何を表していますか?
もともと(BASICでは)Dimは、配列の次元を定義するために使用されていたため、Dimensionを表していました。
(BASICの最初の実装は、DIMENSIONのスペルが規定されているFORTRANから派生したDartmouth BASICでした。)
今日では、Dimは配列だけでなくあらゆる変数を定義するために使われているので、その意味はもはや直感的ではありません。
Dim
にはさまざまな意味があります。
Dim
の意味「メモリ内で宣言」についての参照を見つけました。より関連する参照は Dimステートメント のドキュメントですSiebel VB言語リファレンスの一部としてのOracle。もちろん、メモリ内の変数を宣言しない場合、どこでそれを行うのかと主張するかもしれません。たぶん "モジュールで宣言"はDim
がどのように使用されるかを考えると良い選択肢です。
私の意見では、「メモリ内宣言」は実際にはニーモニックであり、Dim
の使用方法を簡単に習得できるように作成されています。 「メモリ内の宣言」は、現在のバージョンの言語で何をするかを説明するので、より良い意味であると思いますが、それは適切な意味ではありません。
実際、Basicの元ではDim
は配列の宣言にのみ使用されていました。通常の変数の場合、キーワードは使用されず、代わりに名前から型が推測されました。たとえば、変数の名前が$
で終わる場合、それは文字列です(これは、VB6までのメソッド名、たとえばMid$
でも見ることができるものです)。そのため、Dim
は、配列にdimensionを与えるためだけに使用しました(ReDim
は配列のサイズを変更することに注意してください)。
本当に、問題になりますか?つまり、それは人工言語の中で意味を持つキーワードです。英語または他の自然言語の単語である必要はありません。だから、あなたが望むものは何でも意味することができます、重要なのはそれが機能するということです。
とにかく、それは完全に真実ではありません。 BASICは私たちの文化の一部であり、その理由を理解することは、私が世界のビジョンを改善するのに役立つことを願っています。
失われたと思われるこの文化の一部を、それが何であるかを推測することで置き換えるのを助けたいという思いで、私はコンピューターから座ります。それで、1998年版の現在のCDと古いCDの両方をMSDNで掘りました。また、古いQBasic [DOSBoxを使用していなかった]のドキュメントを検索し、Darthmouthのマニュアルを入手しました。すべてがDim
について話す方法を見つけました。私の失望のために、彼らはDim
が何を表しているのかを言っておらず、それがどのように使用されているかだけを言っています。
しかし、私の希望が薄れる前に、私はなんとかこれを見つけることができました BBC Microcomputer System Used Guide (それは1984年からのものであると主張し、私はそれを疑いたくありません)。 BBC Microcomputerは、BBC BASICと呼ばれるBASICのバリアントを使用しました。これについては、ドキュメントで説明しています。たとえDim
が何を表しているのかはわかりませんが、それは(104ページ)と書かれています:
... N $をディメンション化して、必要な数のエントリを作成できます。たとえば、DIM N $(1000)は、1000の異なる名前のスペースを含む文字列配列を作成します。
先ほど言ったように、Dim
は次元を表しているとは言いませんが、Dim
をDimension
と関連付けることは、その文書を書いている時点では一般的なことだったことを示す証拠となります。
今、私は後でやりがいのある驚きを得ました(208ページ)、DIMキーワードを説明するセクションのタイトル(注:内容にリストされていません)は言う:
配列のDIM次元
ですから、「Dimは...を意味します」という引用は得られませんでしたが、それらの文書を読むことができるまともな人間は、Dim
が次元を意味すると見なすことは明らかだと思います。
希望が新たになったので、Dim
がどのように選択されたかを検索することにしました。繰り返しますが、このテーマに関する説明は見つかりませんでしたが、それでも決定的な引用を見つけることができました。
配列を使用する前に、DIM(次元)ステートメントで定義する必要があります。
これは True BASIC Online User's Guides の一部として見つけることができます。= Thomas Eugene Kurtz (BASICの共著者)によって設立された会社、True BASIC incのWebページにあります。
したがって、実際には、Dim
はDIMENSION
の省略形であり、はい。以前はFORTRANに存在していたため、FORTRANの影響により Patrick McDonaldが答えで言った として選ばれた可能性があります。
Dim sum as string = "this is not a chinese meal" REM example usage in VB.NET ;)
元々BASICで配列のサイズを指定するために使用されていたので、Dimensionの略です。
参照:---(http://ja.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
後になって、最近の実装で変数の型を指定する可能性が追加されたときに、あらゆる種類の変数を宣言するために使用されるようになりました。
変数を次元化します。基本的には、この時点でこのタイプの変数が必要になるとコンパイラに伝えています。
これはDimensionを表しますが、一般的に "Create Variable"または "Allocate Space for This"と読み替えられます。
変数宣言最初は「ディメンション」の略語でしたが、これはプログラミングにおいて(この特定のキーワード以外で)使用されている用語ではありませんが、それほど意味がありません。
http://in.answers.yahoo.com/question/index?qid=20090310095555AANmiAZ
DIMは、メモリ内の宣言DIM xを新しい整数として表し、変数xが格納されるメモリ内の領域を作成します。
当時、DIMはアレイ用にメモリを予約していましたが、メモリが限られていたときは、その使用方法に注意する必要がありました。私はかつて(1981年に)48Kb RAMを搭載したTRS-80モデルIIIのBASICプログラムを書きました。 DIMステートメントを変更して配列サイズを小さくするまで、16Kb RAMを使用した同様のマシンでは実行できません。
Dimensionの略。それは一種の変数です。あなたはこのWordで変数を設定していることを宣言します(またはVisual Basicに「伝えます」)。
Dimキーワードは、公開、保護、友達、保護された友達、非公開、共有、影、静的、ReadOnlyなどの修飾子と共に使用する場合はオプションです。 - Static nTotal As Integer
参照型の場合、クラスまたは構造体の新しいインスタンスを作成するには、newキーワードを使用する必要があります。例えばDim lblTop As New System.Windows.Forms.Label
。
Option Infer to Onを設定すると、Dimステートメントはデータ型なしで使用できます。その場合、コンパイラはその初期化式の型から変数のデータ型を推測します。例:
Option Infer On
Module SampleMod
Sub Main()
Dim nExpVar = 5
上記のステートメントは - Dim nExpVar As Integer
と同等です。