Preguntas etiquetadas con rust

Rust es un lenguaje de programación de sistemas sin un recolector de basura enfocado en tres objetivos: seguridad, velocidad y concurrencia. Use esta etiqueta para preguntas sobre el código escrito en Rust. Use una etiqueta específica de la edición para las preguntas que se refieren al código que requiere una edición en particular, como [rust-2018]. Utilice etiquetas más específicas para subtemas como [rust-cargo] y [rust-macros].

1
¿Cuándo implementa un cierre Fn, FnMut y FnOnce?
¿Cuáles son las condiciones específicas para un cierre que ejecute el Fn, FnMuty FnOncerasgos? Es decir: ¿Cuándo un cierre no implementa el FnOncerasgo? ¿Cuándo un cierre no implementa el FnMutrasgo? ¿Cuándo un cierre no implementa el Fnrasgo? Por ejemplo, mutar el estado del cierre en su cuerpo hace que el …
114 rust  closures 


5
¿Es posible usar variables globales en Rust?
Sé que, en general, se deben evitar las variables globales. Sin embargo, creo que en un sentido práctico, a veces es deseable (en situaciones en las que la variable es parte integral del programa) utilizarlos. Para aprender Rust, actualmente estoy escribiendo un programa de prueba de base de datos usando …

2
¿Cómo utilizar una caja local no publicada?
Hice una biblioteca: cargo new my_lib y quiero usar esa biblioteca en un programa diferente: cargo new my_program --bin extern crate my_lib; fn main { println!("Hello, World!"); } ¿Qué debo hacer para que esto funcione? No están en la misma carpeta del proyecto. . ├── my_lib └── my_program Ojalá esto …


1
¿Cómo buscar e insertar en un HashMap de manera eficiente?
Me gustaría hacer lo siguiente: Busque una Vecclave determinada y guárdela para su uso posterior. Si no existe, cree un vacío Vecpara la clave, pero manténgalo en la variable. ¿Cómo hacer esto de manera eficiente? Naturalmente, pensé que podría usar match: use std::collections::HashMap; // This code doesn't compile. let mut …
102 hashmap  rust  lookup 

5
Dividir un módulo en varios archivos
Quiero tener un módulo con múltiples estructuras, cada una en su propio archivo. Usando un Mathmódulo como ejemplo: Math/ Vector.rs Matrix.rs Complex.rs Quiero que cada estructura esté en el mismo módulo, que usaría desde mi archivo principal, así: use Math::Vector; fn main() { // ... } Sin embargo, el sistema …
102 module  rust 



1
Devolución de llamada idiomática en Rust
En C / C ++ normalmente haría devoluciones de llamada con un puntero de función simple, tal vez pasando un void* userdataparámetro también. Algo como esto: typedef void (*Callback)(); class Processor { public: void setCallback(Callback c) { mCallback = c; } void processEvents() { for (...) { ... mCallback(); } …
100 callback  rust 

5
¿Cómo iterar sobre un rango con un paso personalizado?
¿Cómo puedo iterar sobre un rango en Rust con un paso que no sea 1? Vengo de una experiencia en C ++, así que me gustaría hacer algo como for(auto i = 0; i <= n; i+=2) { //... } En Rust necesito usar la rangefunción, y no parece que …
100 rust 


2
¿Es posible hacer que un tipo sea solo movible y no copiable?
Nota del editor : esta pregunta se hizo antes de Rust 1.0 y algunas de las afirmaciones en la pregunta no son necesariamente ciertas en Rust 1.0. Algunas respuestas se han actualizado para abordar ambas versiones. Tengo esta estructura struct Triplet { one: i32, two: i32, three: i32, } Si …
96 rust 

3
¿Qué tiene Rust en lugar de un recolector de basura?
Entiendo que Rust no tiene un recolector de basura y me pregunto cómo se libera la memoria cuando un enlace sale de su alcance. Entonces, en este ejemplo, entiendo que Rust recupera la memoria asignada a 'a' cuando sale del alcance. { let a = 4 } El problema que …
95 rust 


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.