Koleksiyonlar
Dizi, Küme, Sözlük, sliste
Diğer koleksiyon tipleri.
dizi sabit uzunlukludur. küme tekildir. sözlük anahtar-değer tutar (dolu {} literal yok). sliste ekleme sırasını korur.
İlgili konular
Referans
Bu sayfa 6 katalog öğesini kapsar. Aşağıdaki maddeler language-spec, örnekler ve katalog alanlarından üretilmiştir.
dizi<T>
Nedir?
dizi<T> sabit uzunluklu indisli koleksiyondur. Uzunluğu uzunluk verir. ekle ve kaldır çalışmaz (US1514). İndis ataması serbesttir.
Ne zaman kullanılır?
Uzunluk sabit kalacaksa kullanın.
Değerler, işlemler ve dönüşümler
Bildirim: sayılar: dizi<tamsayı> = [...]. uzunluk sabit boyutu verir. dizi.adet tanı hatasıdır (US0854). liste/sliste ile karıştırmayın.
Tanımlama
sayılar: dizi<tamsayı> = [1, 2, 3]syaz sayılar.uzunlukÖrnek
sayılar: dizi<tamsayı> = [1, 2, 3]syaz sayılar.uzunlukÇıktı
3
Geçersiz örnek
sayılar: dizi<tamsayı> = [1, 2]sayılar.ekle(3)US1514 — dizi sabit uzunluktadır; ekle/kaldır yok.
Dikkat edilmesi gerekenler
- dizi.adet tanı hatasıdır (US0854).
- ekle/kaldır US1514.
İlgili konular
küme<T>
Nedir?
küme<T> yinelenmeyen öğe tutar. Var olan öğenin yeniden eklenmesi örneği değiştirmez. Ekleme sırası dil sözü değildir; indislenmez.
Ne zaman kullanılır?
Tekil öğe kümesi gerektiğinde kullanın.
Değerler, işlemler ve dönüşümler
Bildirim: etiketler: küme<metin> = [...]. Boş [] hedef tip ister. Indis erişimi yoktur (liste/dizi/sliste'ten fark). Ekleme sırası garanti edilmez.
Tanımlama
etiketler: küme<metin> = ["a", "b"]Örnek
etiketler: küme<metin> = ["a", "b"]syaz etiketler.içerir("a")Çıktı
doğru
Dikkat edilmesi gerekenler
- Ekleme sırası dil sözü değildir.
- küme indislenez.
İlgili konular
sözlük<K,V>
Nedir?
sözlük<K,V> anahtar-değer tutar. { anahtar: değer } literali yoktur. Boş [] hedef sözlük tipiyle geçerlidir; dolu köşeli literal US0809 verir. Indislenmez.
Ne zaman kullanılır?
Anahtarla erişim gerektiğinde kullanın.
Değerler, işlemler ve dönüşümler
Bildirim: sözlük<metin, tamsayı>. Kayıt ekle(anahtar, değer) ile yazılır. Yinelenen anahtar US1518. Boş [] hedef tip ile çözülür.
Tanımlama
puanlar: sözlük<metin, tamsayı> = []puanlar.ekle("Ali", 10)Örnek
puanlar: sözlük<metin, tamsayı> = []puanlar.ekle("Ali", 10)syaz "ok"Çıktı
ok
Geçersiz örnek
puanlar: sözlük<metin, tamsayı> = ["Ali"]US0809 — dolu köşeli literal sözlük için geçersiz; boş [] + ekle kullanın.
Dikkat edilmesi gerekenler
- Sözlük literali yoktur.
- Yinelenen anahtar US1518.
- sözlük indislenez.
İlgili konular
Liste · Veri Tipleri · Literaller
sliste<T>
Nedir?
sliste<T>, liste ile aynı üyelere sahip, ekleme sırasını koruyan ayrı bir sıralı koleksiyondur. Belirtim ek sıra/kimlik sözü vermez; küme sırasızdır, sliste sıralıdır.
Ne zaman kullanılır?
liste benzeri API ve ekleme sırası vurgusu gerektiğinde kullanın.
Değerler, işlemler ve dönüşümler
Bildirim: sıra: sliste<tamsayı> = [...]. Indislenir; adet/ekle/kaldır liste ile aynıdır. dizi gibi sabit uzunluk değildir; küme gibi sırasız değildir.
Tanımlama
sıra: sliste<tamsayı> = [1, 2, 3]Örnek
sıra: sliste<tamsayı> = [1, 2, 3]syaz sıra.adetÇıktı
3
Dikkat edilmesi gerekenler
- liste ile üye yüzeyi aynıdır; ayrı tip olarak kalır.
- küme sıra sözü vermez; sliste ekleme sırasını korur.
İlgili konular
Sonuç<T>
Nedir?
Sonuç<T>, language-spec §16'da geçen örnek jenerik model biçimidir; yerleşik stdlib tipi değildir. başarılı: mantıksal ve veri: T? alanlarıyla kullanıcı tanımlı model örneğidir.
Ne zaman kullanılır?
Jenerik model sözdizimini göstermek veya kendi Sonuç benzeri modelinizi yazmak için örnek alın; dil çekirdeğinde hazır tip aramayın.
Değerler, işlemler ve dönüşümler
Örnek tanım: model Sonuç<T> { başarılı: mantıksal; veri: T? }. Kullanım için bu modeli (veya eşdeğerini) kaynakta siz tanımlarsınız. Kapalı jenerik Sonuç<metin> ile Sonuç<tamsayı> aynı çalışma zamanı tipi değildir.
Tanımlama
model Sonuç<T>{ başarılı: mantıksal veri: T?}Örnek
model Sonuç<T>{ başarılı: mantıksal veri: T?} r: Sonuç<metin> = @Sonuç<metin> { başarılı = doğru veri = "ok" }syaz r.başarılıÇıktı
doğru
Dikkat edilmesi gerekenler
- Stdlib/built-in tip değildir; §16 örnek modelidir.
- Binder kökünde liste/dizi/küme/sözlük/sliste kayıtlıdır; Sonuç kayıtlı değildir.
İlgili konular
Generics ve Erişim · Veri Tipleri · Null ve Nullable
'dizi'
Nedir?
dizi\<T\> sabit uzunluk (uzunluk). ekle/kaldır US1514. İndis ataması serbest. dizi.adet US0854.
Sözdizimi
sayılar: dizi<tamsayı> = [1, 2, 3]Basit örnek
sayılar: dizi<tamsayı> = [1, 2, 3]syaz "{sayılar.uzunluk}"Çıktı
3
Dikkat edilmesi gerekenler
- dizi.adet tanı hatasıdır (US0854); uzunluk kullanılır.
- ekle/kaldır dizi üzerinde US1514 üretir.