Cosa significa DIM in Visual Basic?
Cosa significa DIM in Visual Basic?
Risposte:
Dim originariamente (in BASIC) stava per Dimension, poiché veniva usato per definire le dimensioni di un array.
(L'implementazione originale di BASIC era Dartmouth BASIC, che discendeva da FORTRAN, dove è precisato DIMENSION.)
Al giorno d'oggi, Dim viene utilizzato per definire qualsiasi variabile, non solo array, quindi il suo significato non è più intuitivo.
Dim
gli sono stati attribuiti significati diversi.
Ho trovato riferimenti sul Dim
significato di "Dichiarare in memoria" , il riferimento più rilevante è un documento su Dim Statement pubblicato su Oracle come parte del riferimento linguistico Siebel VB. Certo, potresti obiettare che se non dichiari le variabili in memoria dove lo fai? Forse "Dichiarare nel modulo" è una buona alternativa considerando come Dim
viene utilizzato.
Secondo me, "Declare In Memory" è in realtà un mnemonico , creato per facilitare l'apprendimento Dim
. Vedo "Dichiarare in memoria" come un significato migliore in quanto descrive ciò che fa nelle attuali versioni del linguaggio, ma non è il significato corretto.
In effetti, alle origini di Basic Dim
veniva usato solo per dichiarare array. Per le variabili regolari non è stata utilizzata alcuna parola chiave, invece il loro tipo è stato dedotto dal loro nome. Ad esempio, se il nome della variabile termina, $
allora è una stringa (questo è qualcosa che potresti vedere anche nei nomi dei metodi fino a VB6, per esempio Mid$
). E così, hai usato Dim
solo per dare dimensione alle matrici (nota che ReDim
ridimensiona le matrici).
Davvero, importa ? Voglio dire, è una parola chiave che ha il suo significato all'interno di un linguaggio artificiale. Non deve essere una parola in inglese o in qualsiasi altra lingua naturale. Quindi potrebbe significare qualunque cosa tu voglia, tutto ciò che conta è che funzioni.
Comunque, questo non è del tutto vero. Poiché BASIC fa parte della nostra cultura, e capire perché è diventato così com'è - spero - contribuirà a migliorare la nostra visione del mondo.
Mi siedo dal mio computer con il desiderio di aiutare a preservare questo piccolo pezzo della nostra cultura che sembra perduto, sostituito dalla nostra ipotesi di cosa fosse. E così, ho scavato MSDN sia attuali che vecchi CD dalla versione del 1998. Ho anche cercato la documentazione per il vecchio QBasic [Ho dovuto usare DOSBox] e sono riuscito a ottenere un manuale di Darthmouth, tutti per scoprire come parlano Dim
. Per la mia delusione, non dicono ciò che Dim
rappresenta e dicono solo come viene utilizzato.
Ma prima che la mia speranza fosse debole, sono riuscito a trovare questa guida all'uso del sistema di microcomputer della BBC (che afferma di essere del 1984, e non voglio dubitarne). Il microcomputer della BBC ha usato una variante di BASIC chiamata BBC BASIC ed è descritta nel documento. Anche se, non dice cosa significa Dim
, dice (a pagina 104):
... puoi quotare N $ per avere tutte le voci che vuoi. Ad esempio, DIM N $ (1000) creerebbe una matrice di stringhe con spazio per 1000 nomi diversi.
Come ho detto, non dice che Dim
sta per dimensione, ma serve come prova per dimostrare che l'associazione Dim
con Dimension
era una cosa comune al momento della stesura di quel documento.
Ora, ho ricevuto una sorpresa gratificante più avanti (a pagina 208), il titolo della sezione che descrive la parola chiave DIM (nota: che non è elencato nei contenuti) dice:
Dimensione DIM di un array
Quindi, non ho ricevuto la citazione "Dim significa per ..." ma immagino sia chiaro che qualsiasi essere umano decente in grado di leggere quel documento considererà che Dim
significa dimensione.
Con rinnovata speranza, ho deciso di cercare come è Dim
stato scelto. Ancora una volta, non ho trovato un account sull'argomento, ma sono riuscito a trovare un preventivo definitivo:
Prima di poter utilizzare un array, è necessario definirlo in un'istruzione DIM (dimensione).
Puoi trovarlo come parte delle Guide per utenti online True BASIC nella pagina web di True BASIC inc, una società fondata da Thomas Eugene Kurtz , coautore di BASIC.
Quindi, nella realtà, Dim
è una scorciatoia per DIMENSION
, e sì. In precedenza esisteva in FORTRAN, quindi è probabile che sia stato scelto dall'influenza di FORTRAN, come ha affermato Patrick McDonald nella sua risposta .
Dim sum as string = "this is not a chinese meal" REM example usage in VB.NET ;)
Dim
realmente rappresenta
È l'abbreviazione di Dimensione, poiché era originariamente utilizzata in BASIC per specificare la dimensione delle matrici.
DIM - (abbreviazione di dimensione) definisce la dimensione delle matrici
Rif: http://en.wikipedia.org/wiki/Dartmouth_BASIC
Una parte del codice sorgente del compilatore BASIC originale, dove salterebbe quando trova un DIM
comando, in cui puoi vedere chiaramente l'intenzione originale per la parola chiave:
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 $
...
Rif: http://dtss.dartmouth.edu/scans/BASIC/BASIC%20Compiler.pdf
Successivamente è stato utilizzato per dichiarare tutti i tipi di variabili, quando è stata aggiunta la possibilità di specificare il tipo per le variabili nelle implementazioni più recenti.
È l'acronimo di Dimensione, ma generalmente viene letto come "Crea variabile" o "Alloca spazio per questo".
Dichiarazione variabile Inizialmente, era l'abbreviazione di "dimensione", che non è un termine utilizzato nella programmazione (al di fuori di questa specifica parola chiave) in misura significativa.
http://in.answers.yahoo.com/question/index?qid=20090310095555AANmiAZ
Ai giorni nostri la memoria riservata DIM per l'array e quando la memoria era limitata, bisognava fare attenzione a come la si usava. Una volta ho scritto (nel 1981) un programma BASIC su TRS-80 Model III con 48Kb di RAM. Non funzionerebbe su un computer simile con 16 KB di RAM fino a quando non ho ridotto la dimensione dell'array modificando l'istruzione DIM
La parola chiave Dim è facoltativa, quando la stiamo usando con modificatori: pubblica, protetta, amica, amica protetta, privata, condivisa, ombre, statica, sola lettura ecc. Ad es. - Static nTotal As Integer
Per il tipo di riferimento, dobbiamo usare una nuova parola chiave per creare la nuova istanza della classe o della struttura. es Dim lblTop As New System.Windows.Forms.Label
.
L'istruzione dim può essere utilizzata senza un tipo di dati quando si imposta Opzione Infer su Attivo . In tal caso il compilatore deduce il tipo di dati di una variabile dal tipo della sua espressione di inizializzazione. Esempio :
Option Infer On
Module SampleMod
Sub Main()
Dim nExpVar = 5
L'affermazione sopra è equivalente a- Dim nExpVar As Integer