«rust» etiketlenmiş sorular

Rust, üç hedefe odaklanan çöp toplayıcısız bir sistem programlama dilidir: güvenlik, hız ve eşzamanlılık. Rust ile yazılmış kod hakkında sorularınız için bu etiketi kullanın. [Rust-2018] gibi belirli bir sürüm gerektiren kodla ilgili sorular için baskıya özel bir etiket kullanın. [Rust-cargo] ve [rust-macro'lar] gibi alt konular için daha spesifik etiketler kullanın.

1
Bir kapanış ne zaman Fn, FnMut ve FnOnce uygular?
Ne belirli koşullar bir kapatma uygulamak için Fn, FnMutve FnOnceözellikleri? Yani: Ne zaman bir kapatma yok değil uygulamak FnOnceözelliği? Ne zaman bir kapatma yok değil uygulamak FnMutözelliği? Ne zaman bir kapatma yok değil uygulamak Fnözelliği? Örneğin, gövdesindeki kapanmanın durumunu değiştirmek, derleyicinin Fnüzerinde uygulanmamasına neden olur.
114 rust  closures 

2
Genel bir tür yerine ilişkili bir türü kullanmak ne zaman uygundur?
Gelen bu soruya bir sorun olduğunu ilişkili türü içine bir genel tür parametresi kullanarak bir girişim değiştirerek çözülebilir ortaya çıktı. Bu, "Neden ilişkili bir tür burada daha uygun?" Sorusunu doğurdu ve bu da beni daha fazlasını öğrenmek istememe neden oldu. Türlerini ilişkili sunduk RFC diyor ki: Bu RFC, özellik eşleştirmesini …
109 types  rust  idiomatic 

5
Rust'ta global değişkenler kullanmak mümkün mü?
Genel olarak global değişkenlerden kaçınılması gerektiğini biliyorum. Yine de, pratik anlamda (değişkenin programa entegre olduğu durumlarda) bunları kullanmanın bazen istenebileceğini düşünüyorum. Rust'u öğrenmek için şu anda GitHub'da sqlite3 ve Rust / sqlite3 paketini kullanarak bir veritabanı test programı yazıyorum. Sonuç olarak, bu (benim test programımda) (genel bir değişkene alternatif olarak) …

5
Bir modülü birkaç dosyaya bölme
Her biri kendi dosyasında olan birden çok yapıya sahip bir modüle sahip olmak istiyorum . MathÖrnek olarak bir modül kullanmak : Math/ Vector.rs Matrix.rs Complex.rs Her yapının aynı modülde olmasını istiyorum, bunu ana dosyamdan kullanacağım, şöyle: use Math::Vector; fn main() { // ... } Ancak Rust'un modül sistemi (başlangıçta biraz …
104 module  rust 

2
Yerel olarak yayınlanmamış bir sandık nasıl kullanılır?
Bir kütüphane yaptım: cargo new my_lib ve bu kitaplığı farklı bir programda kullanmak istiyorum: cargo new my_program --bin extern crate my_lib; fn main { println!("Hello, World!"); } bunun işe yaraması için ne yapmam gerekiyor? Aynı proje klasöründe değiller. . ├── my_lib └── my_program Umarım bu mantıklıdır. Yolu Kargo rehberine göre …

1
Rust yapısında değişkenleri başlatmanın daha hızlı / daha kısa bir yolu var mı?
Aşağıdaki örnekte, alanların bildiriminde yapıdaki her alana bir değer atamayı tercih ederim. Alternatif olarak, her alan için alanlara bir değer atamak için etkin bir şekilde bir ek ifade alır. Yapmak istediğim tek şey, yapı somutlaştırıldığında varsayılan değerler atamak. Bunu yapmanın daha kısa ve öz bir yolu var mı? struct cParams …
103 rust 

1
Bir HashMap'ten verimli bir şekilde arama ve ekleme nasıl yapılır?
Aşağıdakileri yapmak istiyorum: Bir arama Vecbelirli bir anahtar için, ve daha sonra kullanmak üzere saklayın. Mevcut değilse Vec, anahtar için bir boş oluşturun , ancak yine de değişkende tutun. Bunu verimli bir şekilde nasıl yapabilirim? Doğal olarak kullanabileceğimi düşündüm match: use std::collections::HashMap; // This code doesn't compile. let mut map …
103 hashmap  rust  lookup 



1
Rust'ta deyimsel geri aramalar
C / C ++ 'da normal olarak düz bir işlev işaretçisi ile geri çağırmalar yaparım, belki bir void* userdataparametre de iletirim. Bunun gibi bir şey: typedef void (*Callback)(); class Processor { public: void setCallback(Callback c) { mCallback = c; } void processEvents() { for (...) { ... mCallback(); } } …
100 callback  rust 

5
Özel bir adımla bir aralıkta nasıl yineleme yaparım?
1 dışında bir adımla Rust'ta bir aralıkta nasıl yineleme yapabilirim? C ++ arka planından geliyorum, bu yüzden şöyle bir şey yapmak istiyorum for(auto i = 0; i <= n; i+=2) { //... } Rust'ta rangeişlevi kullanmam gerekiyor ve özel bir adıma sahip olmak için üçüncü bir argüman yok gibi görünüyor. …
100 rust 



2
Bir türü sadece taşınabilir ve kopyalanamaz hale getirmek mümkün müdür?
Editörün notu : Bu soru Rust 1.0'dan önce sorulmuştu ve sorudaki bazı iddialar Rust 1.0'da doğru olmayabilir. Her iki versiyonu da ele almak için bazı cevaplar güncellendi. Bu yapıya sahibim struct Triplet { one: i32, two: i32, three: i32, } Bunu bir işleve aktarırsam, dolaylı olarak kopyalanır. Şimdi, bazen bazı …
96 rust 

3
Rust'un çöp toplayıcı yerine ne var?
Rust'un bir çöp toplayıcısına sahip olmadığını anlıyorum ve bir bağlama kapsam dışına çıktığında belleğin nasıl serbest kaldığını merak ediyorum. Yani bu örnekte, Rust'un kapsam dışına çıktığında 'a'ya ayrılan belleği geri aldığını anlıyorum. { let a = 4 } Bununla yaşadığım sorun, öncelikle bunun nasıl gerçekleştiği ve ikincisi bu bir tür …
95 rust 

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.