Rust

Iterators & Closures

Iterator trait, iterator adapters (map, filter, fold), closure söz dizimi, move closures, Fn traits

22 mülakat soruları·
Mid-Level
1

Rust'ta bir for döngüsünde kullanılabilmek için bir tipin hangi trait'i implemente etmesi gerekir?

Cevap

IntoIterator trait'i bir tipin iterator'a dönüştürülmesini sağlar. for döngüsü ifade üzerinde otomatik olarak into_iter() çağırır. Vec, array ve range gibi tipler bu trait'i varsayılan olarak implemente eder, bu da onları doğrudan for ile dolaşmayı mümkün kılar.

2

Iterator trait'inin hangi metodu zorunlu olarak implemente edilmelidir?

Cevap

next() metodu, Iterator trait'inin tek zorunlu metodudur. Option<Self::Item> döndürür; eleman kaldıysa Some(item), iterasyon bittiyse None döndürür. map, filter veya collect gibi diğer tüm metotların next() temelli varsayılan implementasyonları vardır.

3

Bir Vec<T> üzerinde iter(), iter_mut() ve into_iter() arasındaki fark nedir?

Cevap

iter() değiştirilemez referanslar (&T) üzerinde bir iterator döndürür, iter_mut() değiştirilebilir referanslar (&mut T) üzerinde, ve into_iter() Vec'i tüketir ve elemanları değer olarak (T) döndürür. Seçim, elemanları okumak mı, değiştirmek mi yoksa sahipliğini almak mı istediğinize bağlıdır.

4

Rust'ta lazy bir iterator nedir ve neden önemlidir?

5

İki i32 parametresi alan ve toplamlarını döndüren bir closure tanımlamak için doğru söz dizimi nedir?

+19 mülakat soruları

Bir sonraki mülakatın için Rust'de uzmanlaş

Tüm sorulara, flashcards'a, teknik testlere, code review alıştırmalarına ve mülakat simülatörlerine eriş.

Ücretsiz başla