Visual Basic'te DIM ne anlama geliyor?
Visual Basic'te DIM ne anlama geliyor?
Yanıtlar:
Dim başlangıçta (BASIC'te) bir dizinin boyutlarını tanımlamak için kullanıldığından Boyut'u temsil ediyordu.
(BASIC'in orijinal uygulaması, DIMENSION'ın hecelendiği FORTRAN'dan gelen Dartmouth BASIC idi.)
Günümüzde Dim, sadece dizileri değil, herhangi bir değişkeni tanımlamak için kullanılmaktadır, bu yüzden anlamı artık sezgisel değildir.
Dim ona atfedilen farklı anlamları vardı.
DimAnlam "bellekte beyan" ile ilgili referanslar buldum , daha ilgili referans Siebel VB Dil Referans bir parçası olarak Oracle yayınlanan Dim Bildirimi bir belgedir . Tabii ki, bellekteki değişkenleri bildirmezseniz, bunu nerede yaptığınızı iddia edebilirsiniz. Belki "Modülde Beyan Et" nasıl Dimkullanıldığını göz önünde bulundurarak iyi bir alternatiftir .
Benim düşünceme göre, "Bellekte Beyan" aslında nasıl kullanılacağını öğrenmeyi kolaylaştırmak için yaratılmış bir anımsatıcıdırDim . "Bellekte Bildir" i, dilin mevcut sürümlerinde ne yaptığını açıkladığı için daha iyi bir anlam olarak görüyorum, ama bu doğru bir anlam değil.
Aslında, Basic'in kökeninde Dimsadece dizileri bildirmek için kullanılmıştır. Normal değişkenler için anahtar kelime kullanılmadı, bunun yerine türleri adlarından çıkarıldı. Örneğin, değişkenin adı ile bitiyorsa, $bu bir dizedir (örneğin, VB6'ya kadar olan yöntem adlarında bile görebileceğiniz bir şeydir Mid$). Ve böylece, Dimsadece dizilere boyut verirdiniz ( ReDimdizileri yeniden boyutlandırdığına dikkat edin ).
Gerçekten Önemli mi? Yani, yapay bir dilde anlamı olan bir anahtar kelime. İngilizce veya başka bir doğal dilde bir kelime olması gerekmez. Yani bu sadece ne istersen demek olabilir, önemli olan işe yaraması.
Her neyse, bu tamamen doğru değil. BASIC kültürümüzün bir parçası olduğundan ve neden olduğu gibi olduğunu anlamak - umarım - dünya vizyonumuzu geliştirmemize yardımcı olacaktır.
Bilgisayarımdan, kaybolmuş gibi görünen kültürümüzün bu küçük parçasını korumaya yardımcı olmak arzusu ile oturuyorum, bunun yerine ne olduğumuzu tahmin etmemiz gerekiyor. Ve böylece, MSDN sürümünden hem geçerli hem de eski CD'leri kazdık. Ayrıca eski QBasic [DOSBox kullanmak zorunda kaldı] için belgesel aradım ve nasıl konuştuğunu bulmak için bazı Darthmouth kılavuzu almak başardı Dim. Hayal kırıklığım Dimiçin neyi temsil ettiğini söylemiyorlar ve sadece nasıl kullanıldığını söylüyorlar.
Ama umudum azalmadan önce, bu BBC Mikrobilgisayar Sistemi Kullanılmış Kılavuzunu bulmayı başardım (1984'ten beri iddia ediyor ve bundan şüphe etmek istemiyorum). BBC Mikrobilgisayar, BBC BASIC adlı bir BASIC varyantı kullandı ve belgede açıklandı. Olsa da, bunun ne anlama Dimgeldiğini söylemiyor, diyor (sayfa 104):
... N $ 'ı istediğiniz kadar girişe sahip olacak şekilde boyutlandırabilirsiniz. Örneğin, DIM N $ (1000) 1000 farklı ad için boşluk içeren bir dize dizisi oluşturur.
Dediğim gibi, o kadar da söylemez Dimboyutun açılımı, ancak ilişkilendirerek olduğunu göstermek için kanıt olarak hizmet vermektedir Dimile Dimensionbu belgeyi yazma anda ortak bir şeydi.
Şimdi, daha sonra (sayfa 208'de), DIM anahtar sözcüğünü açıklayan bölümün başlığı (not: içeriklerde listelenmeyen) ödüllendirici bir sürprizim var:
Bir dizinin DIM boyutu
Yani, "Dim kısaltması ..." teklifini almadım ama sanırım bu belgeyi okuyabilen her insanın bu Dimboyut anlamına geleceği açık .
Yenilenen umutla nasıl Dimseçildiğini araştırmaya karar verdim . Yine, bu konuda bir hesap bulamadım, yine de kesin bir teklif bulabildim:
Bir diziyi kullanabilmeniz için diziyi bir DIM (boyut) deyiminde tanımlamanız gerekir.
Bunu, BASIC'in ortak yazarı Thomas Eugene Kurtz tarafından kurulan True BASIC inc'in web sayfasında True BASIC Çevrimiçi Kullanıcı Kılavuzlarının bir parçası olarak bulabilirsiniz .
Yani, gerçekte, Dimiçin bir kısayol DIMENSIONve evet. Bu daha önce FORTRAN'da vardı, bu yüzden muhtemelen Patrick McDonald'ın cevabında söylediği gibi FORTRAN'ın etkisi ile seçildi .
Dim sum as string = "this is not a chinese meal" REM example usage in VB.NET ;)
Dimgerçekte ne anlama geldiğinde ısrar edeceğim
Başlangıçta BASIC'te dizilerin boyutunu belirtmek için kullanıldığından Boyut için kısadır.
DIM - (boyut kısaltması) dizilerin boyutunu tanımlar
Referans: http://en.wikipedia.org/wiki/Dartmouth_BASIC
Orijinal BASIC derleyici kaynak kodunun, bir DIMkomut bulurken atlayacağı ve anahtar kelimenin orijinal amacını açıkça görebileceğiniz bir kısmı:
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 $
...
Ref: http://dtss.dartmouth.edu/scans/BASIC/BASIC%20Compiler.pdf
Daha sonra, daha yeni uygulamalarda değişkenlerin türünü belirleme imkanı eklendiğinde, her türlü değişkeni bildirmek için kullanılmaya başlandı.
Boyut anlamına gelir, ancak genellikle "Değişken Oluştur" veya "Bunun için Alan Ayırın" olarak okunur.
Değişken bildirimi. Başlangıçta, programlamada (bu belirli anahtar kelimenin dışında) herhangi bir derecede kullanılan bir terim olmayan "boyut" için kısaydı.
http://in.answers.yahoo.com/question/index?qid=20090310095555AANmiAZ
Gün içinde dizi için DIM ayrılmış bellek ve bellek sınırlı olduğunda nasıl kullandığınıza dikkat etmelisiniz. Bir keresinde (1981'de) 48Kb RAM ile TRS-80 Model III üzerinde bir TEMEL program yazdım. DIM deyimini değiştirerek dizi boyutunu küçültene kadar 16Kb RAM ile benzer bir makinede çalışmaz
Dim anahtar sözcüğü isteğe bağlı, değiştiricilerle kullandığımızda - Genel, Korumalı, Arkadaş, Korumalı Arkadaş, Özel, Paylaşılan, Gölgeler, Statik, ReadOnly vb. Static nTotal As Integer
Referans tipi için, biz kullanmak zorunda yeni sınıf ya da yapının yeni bir örneğini oluşturmak için anahtar kelime. örn Dim lblTop As New System.Windows.Forms.Label.
Dim deyimi, Option Infer ayarını Açık olarak ayarladığınızda veri türü olmadan kullanılabilir . Bu durumda derleyici, bir değişkenin veri türünü başlatma ifadesinin türünden ihlal eder. Misal :
Option Infer On
Module SampleMod
Sub Main()
Dim nExpVar = 5
Yukarıdaki ifade, Dim nExpVar As Integer