Menu
Coddy logo textTech

Kullanıcı Girdisi Okuma

Coddy'nin Rust Journey'sinin Fundamentals bölümünün bir parçası — ders 30 / 75.

Şimdiye kadar, değerleri doğrudan kodumuza yazdığımız programlar oluşturuyorduk. Ancak gerçek programların genellikle kullanıcılarla etkileşime girmesi ve onlardan bilgi alması gerekir.

Rust'ta, kullanıcıdan girdi almak std::io kütüphanesi kullanılarak yapılır. Bu kütüphane; tam sayılar, kayan noktalı sayılar ve dizeler gibi farklı girdi türlerini okumak için yöntemler sağlar.

std::io kütüphanesini kullanmak için, önce onu içe aktarmanız gerekir:

use std::io;

Kullanıcıdan girdi okumak için iki satır koda ihtiyacımız var:

let mut my_var = String::new();
// Girdiyi saklamak için boş bir dize oluşturur

io::stdin().read_line(&mut my_var).unwrap();
 // Girdiyi okur

Bu, giriş değerini my_var değişkeninde bir dize (string) türü olarak saklayacaktır.

Eğer bir sayı almak istiyorsanız, metin girişini bir sayıya dönüştürmek için fazladan bir adıma ihtiyacınız vardır:

let age: i32 = input.trim().parse().unwrap();

.trim() gereklidir çünkü kullanıcılar Enter tuşuna bastığında, girdilerine bir yeni satır karakteri eklenir. Örneğin, birisi "25" yazıp Enter tuşuna basarsa, asıl girdi "25\n" olur. .trim(), girdinin hem başındaki hem de sonundaki bu fazladan boşluk karakterlerini (boşluklar, yeni satırlar vb.) kaldırır.

Şimdilik unwrap() hakkında çok fazla endişelenmeyin - bunu daha sonra öğreneceğiz. Sadece bunun, potansiyel hataları basit (ideal olmasa da) bir şekilde ele almamıza yardımcı olduğunu bilin.

challenge icon

Görev

Başlangıç

Kullanıcıdan girdi (isimlerini) alan ve ardından Hello, ve sonrasında kullanıcının girdiği ismi ve bir ünlem işareti çıktı olarak veren bir program yazın.

Örneğin, kullanıcı Bob girerse, beklenen çıktı Hello, Bob! şeklindedir.

Şunları yapmanız gerekecek:

  1. Girdiyi okumak için bir String nesnesi oluşturun.
  2. Kullanıcıdan ismini girmesini isteyin: "Enter your name:"
  3. Uygun std::io yöntemini kullanarak kullanıcının ismini okuyun.
  4. Ekrana Hello, ve ardından saklanan ismi ve sonuna bir ünlem işareti ! yazdırın.

Kopya kağıdı

Rust'ta kullanıcı girişi almak için std::io kütüphanesini içe aktarın:

use std::io;

Bir kullanıcıdan dize girişi okumak için:

let mut my_var = String::new();
io::stdin().read_line(&mut my_var).unwrap();

Dize girişini bir sayıya dönüştürmek için:

let age: i32 = input.trim().parse().unwrap();

.trim() yöntemi, girişteki boşluk karakterlerini (Enter tuşuna basılmasından kaynaklanan yeni satırlar dahil) kaldırır.

Kendin dene

use std::io;

fn main() {
    // Bir String nesnesi oluşturun
    let mut name = String::new();
    
    // Kullanıcıdan adını girmesini isteyin (println kullanın)
    
    
    // Kullanıcının adını okuyun
    
    
    // Selamlama mesajını yazdırın
    
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Fundamentals bölümündeki tüm dersler