DIMはVisual BasicおよびBASICで何を表しますか?
-
06-07-2019 - |
質問
Visual BasicでDIMは何を表していますか?
解決
元は(BASICで)DimはDimensionの略で、配列の次元を定義するために使用されていました。
(BASICの元の実装はDARTmouth BASICで、これはDIMENSIONが記述されているFORTRANから派生したものです。)
最近では、Dimは配列だけでなく変数を定義するために使用されるため、その意味はもう直観的ではありません。
他のヒント
Dim
にはさまざまな意味があります。
Dim
について" Declare In Memory" を意味する参照が見つかりました。より関連する参照は、 Dimステートメントは、Siebel VB言語リファレンスの一部としてOracleを公開しました。もちろん、メモリ内の変数を宣言しない場合、どこでそれを行うのかと主張するかもしれません。 "モジュールで宣言する" は、 Dim
の使用方法を考慮すると、おそらく良い選択肢です。
私の意見では、「メモリ内で宣言する」は実際にはニーモニックであり、 Dim
の使用方法を学習しやすくするために作成されています。 「メモリ内で宣言」が表示されます。現在のバージョンの言語で何をするかを説明するためのより良い意味ですが、それは適切な意味ではありません。
実際、Basicの起源では、 Dim
は配列の宣言にのみ使用されていました。通常の変数の場合、キーワードは使用されず、代わりに名前から型が推測されました。たとえば、変数の名前が $
で終わる場合、それは文字列です(これは、VB6までのメソッド名でも見ることができるものです。たとえば、 Mid $
)。したがって、 Dim
は、配列に dimension を与えるためだけに使用しました( ReDim
は配列のサイズを変更します)。
本当に、問題になります?つまり、それは人工言語の中で意味を持つキーワードです。英語や他の自然言語の単語である必要はありません。だからあなたが望むものは何でも意味するかもしれない、重要なのはそれが機能するということです。
とにかく、それは完全に真実ではありません。 BASICは私たちの文化の一部であり、それがなぜあるのかを理解することは、私が世界のビジョンを改善するのに役立つことを願っています。
私は、失われたと思われるこの文化の一部を保存し、それが何であるかを推測することで、私たちのコンピューターから離れたいと思っています。それで、1998年版の現在のCDと古いCDの両方をMSDNで掘りました。また、古いQBasic [DOSBoxを使用していなかった]のドキュメントを検索し、Darthmouthのマニュアルを入手し、すべてが Dim
について話す方法を見つけました。残念なことに、彼らは Dim
が何を表しているのかを言っておらず、それがどのように使用されているかだけを言っています。
しかし、希望が薄れる前に、 BBCマイクロコンピューターシステム使用ガイド(それは1984年からのものであると主張し、私はそれを疑いたくない)。 BBC Microcomputerは、BBC BASICと呼ばれるBASICのバリアントを使用しました。これについては、ドキュメントで説明されています。とはいえ、 Dim
が何を表しているのかは述べていませんが、次のように述べています(104ページ):
... N $をディメンション化して、必要な数のエントリを作成できます。にとって たとえば、DIM N $(1000)は1000のスペースを持つ文字列配列を作成します 異なる名前。
私が言ったように、 Dim
は次元を表しているとは言いませんが、 Dim
を Dimension
と関連付けることを示す証拠として機能しますその文書を書いている時点では一般的なことでした。
今、後で(208ページで)やりがいのある驚きを得ました。DIMキーワードを説明するセクションのタイトル(注:コンテンツにリストされていません)は次のように述べています。
配列のDIM次元
だから、引用を取得できませんでした" Dimはを意味します..."しかし、これらのドキュメントを読むことができるまともな人間は、 Dim
が次元を意味することを考慮することは明らかだと思います。
希望が新たになったため、 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はメモリ内の宣言を表します DIM x As New Integer 変数xが保存されるメモリ内にスペースを作成します
当時、DIMはアレイ用にメモリを予約していましたが、メモリが限られている場合は、使用方法に注意する必要がありました。私はかつて(1981年に)48Kb RAMを備えたTRS-80モデルIIIでBASICプログラムを書きました。 DIMステートメントを変更して配列サイズを小さくするまで、16Kb RAMを搭載した同様のマシンでは実行されませんでした
ディメンションの短縮。これは変数の一種です。この単語を使用して変数を設定していることを宣言します(またはVisual Basicに「伝えます」)。
修飾子をPublic、Protected、Friend、Protected Friend、Private、Shared、Shadows、Static、ReadOnlyなどの修飾子と共に使用する場合、Dimキーワードはオプションです。
例えば- Static nTotal As Integer
参照型の場合、 new キーワードを使用して、クラスまたは構造の新しいインスタンスを作成する必要があります。例えば新しいSystem.Windows.Forms.LabelとしてDim lblTop
。
Dimステートメントは、設定時にデータ型なしで使用できます オプションはオンに推測。 その場合、コンパイラは初期化式の型から変数のデータ型を推測します。 例:
Option Infer On
Module SampleMod
Sub Main()
Dim nExpVar = 5
上記のステートメントは、 Dim nExpVar As Integer