CodeBlanks Logo Icon CodeBlanks

Soru havuzu

Soru havuzunu module olarak yazarsın.

Soru havuzu modülü

Soru havuzu, quiz'in tüm sorularını içeren bir veri kaynağıdır. Bir modül olarak yazılır ve export ile dışa aktarılır. Böylece diğer dosyalar bu havuzu import ederek kullanabilir. Soruları ayrı tutmak, veriyi mantıktan ayırır ve bakımı kolaylaştırır.

// sorular.ts
export const sorular: Soru[] = [
  { metin: "a?", siklar: ["x", "y"], dogruIndex: 0 }
];

Tip güvenli soru dizisi

Soru havuzu bir Soru[] dizisidir. Tür annotation'ı sayesinde yanlış şekilli bir soru eklersen derleyici hata verir. Bu, veri tutarlılığını korumanın en güvenli yoludur. Örneğin dogruIndex eksik bir soru derleme sırasında yakalanır.

const sorular: Soru[] = [
  { metin: "2+2?", siklar: ["3", "4"], dogruIndex: 1 }
];

Uygulama Soru havuzu oluştur

Soru interface'i tanımla: metin: string, dogruIndex: number. havuz adında Soru[] türünde bir dizi oluştur ve iki soru ekle: birincinin metni "soru1" ve dogruIndex: 0, ikincinin metni "soru2" ve dogruIndex: 1. havuz.length değerini console.log ile yazdır.

Başlangıç kodu

index.ts
// Soru interface tanımla
// havuz adında Soru[] dizisi oluştur
// iki soru ekle
// havuz.length yazdır

Örnek çözüm

index.ts
interface Soru {
  metin: string;
  dogruIndex: number;
}
const havuz: Soru[] = [
  { metin: "soru1", dogruIndex: 0 },
  { metin: "soru2", dogruIndex: 1 }
];
console.log(havuz.length);

Beklenen çıktı

2

Soru ve cevaplar

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

1 Soru havuzunu diğer dosyalardan kullanılabilir yapmak için ne yapılır?

  • const ile bildirilir
  • console.log ile yazdırılır
  • interface içine konur
  • export ile dışa aktarılır Doğru cevap

Açıklama: Bir modülden değer dışa aktarmak için export anahtar kelimesi kullanılır; başka dosyalar import ile erişir.

2 Dizi türü annotation

Soru
const sorular: ____[] = [
  { metin: "a?", siklar: ["x"], dogruIndex: 0 }
];
Cevap
const sorular: Soru[] = [
  { metin: "a?", siklar: ["x"], dogruIndex: 0 }
];

Açıklama: Bir Soru nesneleri dizisi Soru[] olarak tür annotation'ı ile belirtilir; bu, derleme zamanı denetimi sağlar.

3 Soru havuzu kavramları

Kavram Anlamı
export Dışa aktarım
Soru[] Soru dizisi türü
modül Veri ve mantık ayrımı
import İçe aktarım

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