Temel Dil
Değişkenler
Tip zorunlu değişken bildirimi ve atama kuralları.
US'ta tip zorunludur. ad = "İbrahim" tek başına bildirim değildir; ad: metin = "İbrahim" yazılır.
İlk değer yoksa değişken kesinlikle atanmadan okunamaz. Aynı kapsamda gölgeleme hatadır.
Basit örnek
ad: metin = "İbrahim"yaş: tamsayı = 38aktif: mantıksal = doğrusyaz "{ad} {yaş}"Çıktı
İbrahim 38
İlgili konular
Referans
Bu sayfa 4 katalog öğesini kapsar. Aşağıdaki maddeler language-spec, örnekler ve katalog alanlarından üretilmiştir.
Değişken bildirimi
Nedir?
Bildirim ad: Tip [= değer]; tip zorunlu. ad = "İbrahim" bildirim değil. İlk değer isteğe bağlı; atanmadan okunamaz.
Sözdizimi
ad: metin = "İbrahim"yaş: tamsayı = 38Basit örnek
ad: metin = "İbrahim"syaz "Merhaba {ad}"Çıktı
Merhaba İbrahim
Geçersiz örnek
yaş: tamsayı = "38"US1021 InitializerMismatch
Dikkat edilmesi gerekenler
- Yinelenen ad US0804; gölgeleme US0805; kesin atama US0816.
İlgili konular
Toplu bildirim
Nedir?
Çoklu ad aynı tip ve (varsa) eş sayıda ilk değerle bildirilir.
Sözdizimi
ad, soyad: metin = "İbrahim", "Dağ"telefon, eposta: metin? = ~, ~Basit örnek
a, b: tamsayı = 1, 2Geçersiz örnek
a, b: tamsayı = 1US0802 InitializerCount
Kesin atama
Nedir?
Kesin atama, bir yerel değişkenin okunmadan önce her kontrol akışı yolunda atanmış olmasını zorunlu kılan bağlayıcı (binder) kuralıdır. Ayrı bir anahtar kelime veya özel sözdizimi yoktur; değişken bildirimi ve kullanımı sırasında denetlenir.
US bunu nasıl denetler?
İlk değer isteğe bağlıdır: yaş: tamsayı geçerli bir bildirimdir. Ancak değişken atanmadan okunursa bağlayıcı tanı üretir. Tanı kodu US0816'dır; ileti biçimi '\{ad\}' okunmadan önce atanmalıdır. şeklindedir. Tüm dalların atama yaptığı yollar geçerlidir (ör. eğer/değilse her iki kolda atama).
Geçerli örnek
değer: tamsayı = 10syaz değerÇıktı
10
Geçersiz örnek
yaş: tamsayın: tamsayı = yaşBağlayıcı US0816 üretir: 'yaş' okunmadan önce atanmalıdır.
Tanı
US0816 — üretir: 'yaş' okunmadan önce atanmalıdır
Dikkat edilmesi gerekenler
- Kesin atama için ayrı bir US sözdizimi yoktur; kural derleyici/bağlayıcı tarafından uygulanır.
- Tanı kodu: US0816 (DefiniteAssignment).
- Bu denetim bağlama aşamasındadır (compile-time semantic).
İlgili konular
Gölgeleme yasağı
Nedir?
US, iç kapsamda dış kapsamdaki aynı adı yeniden bildirerek gölgelemeyi yasaklar. Bu bir sözdizimi değil, bağlayıcı kuralıdır.
US bunu nasıl denetler?
Aynı kapsamda yinelenen ad da hatadır. İç blokta dışarıdaki ad ile aynı isimde yeni bildirim tanı hatası üretir (language-spec §5; tanı US0805 Shadowing).
Geçersiz örnek
ad: metin = "Ali" eğer doğru{ ad: metin = "Veli"}İç kapsam dış adı gölgeleyemez; bağlayıcı tanı üretir.
Dikkat edilmesi gerekenler
- Ayrı bir gölgeleme sözdizimi yoktur.
- Tanı kodu: US0805.