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ı.
Dim
Anlam "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 Dim
kullanı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 Dim
sadece 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, Dim
sadece dizilere boyut verirdiniz ( ReDim
dizileri 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 Dim
iç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 Dim
geldiğ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 Dim
boyutun açılımı, ancak ilişkilendirerek olduğunu göstermek için kanıt olarak hizmet vermektedir Dim
ile Dimension
bu 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 Dim
boyut anlamına geleceği açık .
Yenilenen umutla nasıl Dim
seç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, Dim
için bir kısayol DIMENSION
ve 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 ;)
Dim
gerç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 DIM
komut 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