CodeBlanks Logo Icon CodeBlanks

Record

Dart 3 Record ile tuple öğrenirsin.

Record ile tuple

Dart 3'ün Record türü birden çok değeri tek bir pakette toplar. Örneğin (int, String) p = (42, 'Dart'); bir kayıt tanımlar. Parantez içindeki her öğe bir alandır.

Alanlara konumla erişebilirsin: p.$1 ilk değeri (42), p.$2 ikinci değeri (Dart) verir. İndeksler 1'den başlar.

Record'lar değiştirilemez (immutable). İki kayıt aynı alanlara ve değerlere sahipse eşittir. Bu yüzden record'lar veri taşımak için idealdir.

Adlandırılmış alanlar

Record'larda konumsal alanların yanında adlandırılmış alanlar da olabilir. Örnek: ({String name, int age}) p = (name: 'Ayşe', age: 30);. Burada p.name ve p.age ile erişilirsin.

Adlandırılmış alanlar küme parantezi içinde yazılır ve isimle erişilir. Konumsal alanlar $ indeksle erişilir.

Bir record her ikisini birden tutabilir: (int, {String label}). Bu esneklik veri yapılarını net ifade etmeyi sağlar.

Uygulama Konumsal record

main içinde (int, String) p = (7, 'Dart'); tanımla. p.$1 ve p.$2 değerlerini ayrı satırlarda print ile yazdır.

Başlangıç kodu

main.dart
void main() {
  // (int, String) kaydı tanımla, iki alanı yazdır
}

Örnek çözüm

main.dart
void main() {
  (int, String) p = (7, 'Dart');
  print(p.$1);
  print(p.$2);
}

Beklenen çıktı

7
Dart

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Record alanına erişim

Soru
var p = (42, 'Dart');
print(p.____);
Cevap
var p = (42, 'Dart');
print(p.$1);

Açıklama: ilk alana $1 ile erişilir.

2 Record'ların özelliği nedir?

  • Değiştirilebilir (mutable)
  • Yalnızca iki alan alır
  • Sınıf yerine geçer
  • İki eşit kayıt eşittir Doğru cevap

Açıklama: aynı alan ve değerlere sahip iki kayıt eşittir.

3 Record parçalarını eşleştir

Kavram Anlamı
(42, 'Dart') Konumsal kayıt
(name: 'Ayşe', age: 30) Adlandırılmış kayıt
p.$1 İlk konumsal alan
p.name Adlandırılmış alan

Orta seviye bölümündeki tüm dersler