Dizileri Değiştirme
Coddy'nin Rust Journey'sinin Fundamentals bölümünün bir parçası — ders 58 / 75.
Bir dizinin öğelerine erişmenin yanı sıra, onları değiştirebilirsiniz de. Belirli bir öğeyi değiştirmek için, önce bir diziyi değiştirilebilir hale getirmek için mut anahtar kelimesine ihtiyacınız vardır ve ardından dizinini kullanarak ona yeni bir değer atayabilirsiniz.
İşte bir örnek:
let mut my_array = ["apple", "banana", "cherry"];
my_array[1] = "orange";
println!("{}, {}, {}", my_array[0], my_array[1], my_array[2]);Çıktı:
apple, orange, cherrybanana, bir orange ile değiştirildi.
Görev
Kolay3 girdi alan bir program oluşturun:
- İlk girdi, virgülle ayrılmış 5 uzunluğunda bir değerler dizisidir (örneğin
1,2,3,4,5). - İkinci girdi bir indekstir
- Üçüncü girdi yeni bir öğedir
Başlangıç kodu, virgülle ayrılmış diziyi zaten arr adında değiştirilebilir bir diziye dönüştürür — herhangi bir dönüştürme kodu yazmadan doğrudan onunla çalışabilirsiniz.
Program, ikinci girdide saklanan indeksteki öğeyi üçüncü girdideki değerle değiştirerek değiştirilmiş bir diziyi yazdıracaktır.
Kopya kağıdı
Dizi öğelerini değiştirmek için dizinin mut ile bildirilmesi gerekir:
let mut my_array = ["apple", "banana", "cherry"];
my_array[1] = "orange";
println!("{}, {}, {}", my_array[0], my_array[1], my_array[2]);Bu, 1. indeksteki öğeyi "banana" değerinden "orange" değerine değiştirir.
Kendin dene
use std::io;
use std::convert::TryInto;
fn main() {
let mut input_str_arr = String::new();
let mut input_index = String::new();
let mut new_element = String::new();
io::stdin().read_line(&mut input_str_arr).unwrap();
io::stdin().read_line(&mut input_index).unwrap();
io::stdin().read_line(&mut new_element).unwrap();
let new_element = new_element.trim().to_string();
let index: usize = input_index.trim().parse().unwrap();
let mut arr: [String; 5] = input_str_arr.split(',').map(String::from).collect::<Vec<String>>().try_into().unwrap();
// Kodunuzu aşağıya yazın
// Sorunu çözmek için arr, index ve new_element değişkenlerini kullanın
for i in 0..arr.len() {
print!("{} ", arr[i]);
}
}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 Girdi12Dizi Temelleri
Dizi TanımlamaParametre Olarak DizilerElemanlara ErişimDizileri DeğiştirmeÖzet - Diziyi Okunaklı Yazdırma