web-dev-qa-db-ja.com

DIMはVisual BasicおよびBASICで何を表していますか?

DIMはVisual Basicで何を表していますか?

274
Nick Katsivelos

もともと(BASICでは)Dimは、配列の次元を定義するために使用されていたため、Dimensionを表していました。

(BASICの最初の実装は、DIMENSIONのスペルが規定されているFORTRANから派生したDartmouth BASICでした。)

今日では、Dimは配列だけでなくあらゆる変数を定義するために使われているので、その意味はもはや直感的ではありません。

307

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は次元を表しているとは言いませんが、DimDimensionと関連付けることは、その文書を書いている時点では一般的なことだったことを示す証拠となります。

今、私は後でやりがいのある驚きを得ました(208ページ)、DIMキーワードを説明するセクションのタイトル(注:内容にリストされていません)は言う:

配列のDIM次元

ですから、「Dimは...を意味します」という引用は得られませんでしたが、それらの文書を読むことができるまともな人間は、Dimが次元を意味すると見なすことは明らかだと思います。


希望が新たになったので、Dimがどのように選択されたかを検索することにしました。繰り返しますが、このテーマに関する説明は見つかりませんでしたが、それでも決定的な引用を見つけることができました。

配列を使用する前に、DIM(次元)ステートメントで定義する必要があります。

これは True BASIC Online User's Guides の一部として見つけることができます。= Thomas Eugene Kurtz (BASICの共著者)によって設立された会社、True BASIC incのWebページにあります。


したがって、実際には、DimDIMENSIONの省略形であり、はい。以前はFORTRANに存在していたため、FORTRANの影響により Patrick McDonaldが答えで言った として選ばれた可能性があります。


Dim sum as string = "this is not a chinese meal" REM example usage in VB.NET ;)
116
Theraot

元々BASICで配列のサイズを指定するために使用されていたので、Dimensionの略です。

DIM 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

後になって、最近の実装で変数の型を指定する可能性が追加されたときに、あらゆる種類の変数を宣言するために使用されるようになりました。

29
Guffa

変数を次元化します。基本的には、この時点でこのタイプの変数が必要になるとコンパイラに伝えています。

14
JoshBerke

これはDimensionを表しますが、一般的に "Create Variable"または "Allocate Space for This"と読み替えられます。

13
Robert Harvey

変数宣言最初は「ディメンション」の略語でしたが、これはプログラミングにおいて(この特定のキーワード以外で)使用されている用語ではありませんが、それほど意味がありません。

http://in.answers.yahoo.com/question/index?qid=20090310095555AANmiAZ

10
Shoban

DIMは、メモリ内の宣言DIM xを新しい整数として表し、変数xが格納されるメモリ内の領域を作成します。

7
MonstaP

当時、DIMはアレイ用にメモリを予約していましたが、メモリが限られていたときは、その使用方法に注意する必要がありました。私はかつて(1981年に)48Kb RAMを搭載したTRS-80モデルIIIのBASICプログラムを書きました。 DIMステートメントを変更して配列サイズを小さくするまで、16Kb RAMを使用した同様のマシンでは実行できません。

6
Thornton

Dimensionの略。それは一種の変数です。あなたはこのWordで変数を設定していることを宣言します(またはVisual Basicに「伝えます」)。

4
AbdulAziz

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と同等です。

3
Chandralal