Dizileri Değiştirme
Coddy'nin Rust Journey'sinin Temeller bölümünün bir parçası. Ders 58 / 75.
Bir dizinin öğelerine erişmenin yanı sıra onları değiştirebilirsin. Belirli bir öğeyi değiştirmek için önce bir diziyi değiştirilebilir hâle getirmek üzere mut gerekir; ardından dizinin index değerini kullanarak ona yeni bir değer atayabilirsin.
İş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 olarak değiştirildi.
Görev
Kolay3 girdi alan bir program oluştur:
- İlk girdi, virgülle ayrılmış değerlerden oluşan (örneğin
1,2,3,4,5) ve uzunluğu 5 olan bir dizedir. - İkinci girdi bir index değeridir.
- Üçüncü girdi yeni bir öğedir.
Başlangıç kodu, virgülle ayrılmış dizeyi zaten arr adlı değiştirilebilir bir diziye dönüştürüyor. Herhangi bir dönüştürme kodu yazmadan doğrudan bununla çalışabilirsin.
Program, ikinci girdide depolanan index konumundaki öğeyi üçüncü girdideki değerle değiştirerek değiştirilmiş bir dizi yazdıracaktır.
GEREKLİ ÇIKTI BİÇİMİ: <translation> [Çevrilmiş içeriğin buraya] </translation>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
// arr, index ve new_element kullanarak challenge'ı çözü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.
Temeller 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ırmaKendi başına pratik yap: Online Rust derleyicisi