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 okurBu, 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.
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:
- Girdiyi okumak için bir
Stringnesnesi oluşturun. - Kullanıcıdan ismini girmesini isteyin: "
Enter your name:" - Uygun
std::ioyöntemini kullanarak kullanıcının ismini okuyun. - 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
}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
4Operatörler Bölüm 1
Aritmetik OperatörlerModül OperatörüAritmetik KısayollarKarşılaştırma OperatörleriString Karşılaştırma7Temel Girdi-Çıktı
Konsola YazdırmaKullanıcı Girdisi OkumaÖzet - 120'ye KadarÖzet - Doğru veya Yanlış5Operatörler Bölüm 2
Mantıksal Operatörler Bölüm 1Mantıksal Operatörler Bölüm 2Özet - Basit MantıkMantıksal Operatörler Bölüm 311Fonksiyonlar
Fonksiyon TanımlamaParametreler ve ArgümanlarDönüş DeğerleriBirden Fazla Dönüş DeğeriÖzet - Sigma FonksiyonuÖzet - Doğrulama Fonksiyonu14Diziler Üzerinde Gezinme
Range RehberiGelişmiş For DöngüsüDöngü İçinde Ödünç AlmaYaygın Dizi İşlemleri3Değişkenler Bölüm 2
Tür Bildirimiİsimlendirme KurallarıTür ÇıkarımıÖzet - Değişkenleri BaşlatmaTür Dönüştürme9Döngüler
Seriler Üzerinde ForWhile DöngüsüBreakContinueİç İçe DöngülerDöngü EtiketleriSonsuz DöngüÖzet - Dinamik Girdi