CodeBlanks Logo Icon CodeBlanks

stdin/stdout

stdin ve stdout ile I/O öğrenirsin.

stdin ve stdout

stdin ve stdout, Dart'ın dart:io kütüphanesindeki girdi/çıktı nesneleridir. stdin.readLineSync() kullanıcıdan bir satır okur; stdout.writeln('mesaj') ekrana bir satır yazdırır.

Örnek: stdout.write('Adın: '); final name = stdin.readLineSync(); stdout.writeln('Merhaba $name');. Bu, kullanıcıdan ad ister ve selamlama yazdırır. CLI uygulamalarında etkileşimli girdi için kullanılır. readLineSync eşzamanlıdır (sync); yani satır gelene kadar bekler.

Etkileşimli girdi

Bir CLI aracı kullanıcıyla konuşur: soru sorar, cevap bekler, işlem yapar. stdout.write('Soru: ') ile soruyu yazdırır, stdin.readLineSync() ile cevabı okursun. Cevap bir String? döndüğü için ?? ile varsayılan verebilirsin.

Örnek: final name = stdin.readLineSync() ?? 'Misafir';. Kullanıcı boş girerse veya girdi biterse 'Misafir' kullanılır. Bu, CLI araçlarını dayanıklı yapar; beklenmeyen girdi çöküş değil varsayılan olur.

Uygulama stdout ile yazdır

import 'dart:io'; ekle. readName adında bir fonksiyon tanımla: stdout.write('Adın: ') çağrısı yapsın ve stdin.readLineSync() ?? 'Misafir' döndürsün. main içinde final name = 'Ayşe'; ile sabit bir ad belirle ve stdout.writeln('Merhaba $name') ile yazdır.

Başlangıç kodu

main.dart
// dart:io kütüphanesini içe aktar
// readName fonksiyonunu tanımla (çıktı yaz + girdi oku)

void main() {
  // sabit bir ad ile çıktı yazdır
}

Örnek çözüm

main.dart
import 'dart:io';

String readName() {
  stdout.write('Adın: ');
  return stdin.readLineSync() ?? 'Misafir';
}

void main() {
  final name = 'Ayşe';
  stdout.writeln('Merhaba $name');
}

Beklenen çıktı

Merhaba Ayşe

Soru ve cevaplar

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

1 stdin/stdout parçalarını eşleştir

Kavram Anlamı
stdin Girdi
stdout Çıktı
readLineSync Satır okur
writeln Satır yazar

2 stdin.readLineSync ne döndürür?

  • double
  • bool
  • String? Doğru cevap
  • int

Açıklama: stdin.readLineSync String? döndürür.

3 readLineSync çağrısı

Soru
String readName() {
  stdout.write('Adın: ');
  return stdin.____() ?? 'Misafir';
}
Cevap
String readName() {
  stdout.write('Adın: ');
  return stdin.readLineSync() ?? 'Misafir';
}

Açıklama: stdin.readLineSync() kullanıcıdan bir satır okur.

İleri seviye bölümündeki tüm dersler