«rust» 태그된 질문

Rust는 안전, 속도 및 동시성의 세 가지 목표에 초점을 맞춘 가비지 수집기가없는 시스템 프로그래밍 언어입니다. Rust로 작성된 코드에 대한 질문에이 태그를 사용하십시오. [rust-2018]과 같이 특정 버전이 필요한 코드를 나타내는 질문에 대해서는 버전 별 태그를 사용하십시오. [rust-cargo] 및 [rust-macros]와 같은 하위 주제에 대해보다 구체적인 태그를 사용하십시오.

1
클로저는 언제 Fn, FnMut 및 FnOnce를 구현합니까?
, 및 특성 을 구현하기위한 클로저 의 특정 조건 은 무엇입니까 ?FnFnMutFnOnce 그건: 때 폐쇄 않습니다 하지 구현 FnOnce특성을? 때 폐쇄 않습니다 하지 구현 FnMut특성을? 때 폐쇄 않습니다 하지 구현 Fn특성을? 예를 들어, 몸체에서 클로저 상태를 변경하면 컴파일러가 구현되지 않습니다 Fn.
114 rust  closures 

2
관련 유형과 제네릭 유형을 사용하는 것이 적절한시기는 언제입니까?
에서 이 질문 , 문제는 그 연관된 유형에 제네릭 형식 매개 변수를 사용을 시도 변경하여 해결할 수 일어났다. 이로 인해 "여기서 관련 유형이 더 적합한 이유는 무엇입니까?"라는 질문을하게되었고 더 많은 것을 알고 싶었습니다. 관련 유형을 도입 한 RFC 는 다음 과 같이 말합니다. 이 RFC는 다음을 통해 특성 일치를 명확히합니다. …
109 types  rust  idiomatic 

5
사용자 지정 단계로 범위를 반복하려면 어떻게합니까?
1이 아닌 단계로 Rust에서 범위를 어떻게 반복 할 수 있습니까? 나는 C ++ 배경에서 왔기 때문에 다음과 같은 것을하고 싶습니다. for(auto i = 0; i <= n; i+=2) { //... } Rust에서는 range함수 를 사용해야 하는데 사용자 지정 단계를 갖는 데 사용할 수있는 세 번째 인수가없는 것 같습니다. 어떻게 할 …
106 rust 

2
이 물음표 연산자는 무엇입니까?
다음에 대한 문서를File 읽고 있습니다 . //.. let mut file = File::create("foo.txt")?; //.. ?이 줄 은 무엇입니까 ? 전에 Rust Book에서 본 기억이 없습니다.
106 rust 

5
Rust에서 전역 변수를 사용할 수 있습니까?
일반적으로 전역 변수는 피해야한다는 것을 알고 있습니다. 그럼에도 불구하고 실용적인 의미에서 때때로 변수를 사용하는 것이 바람직하다고 생각합니다 (변수가 프로그램에 필수적인 상황에서). Rust를 배우기 위해 저는 현재 GitHub에서 sqlite3와 Rust / sqlite3 패키지를 사용하는 데이터베이스 테스트 프로그램을 작성하고 있습니다. 결과적으로 (내 테스트 프로그램에서) (전역 변수의 대안으로) 약 12 ​​개의 함수 사이에 …


2
게시되지 않은 지역 상자를 사용하는 방법은 무엇입니까?
라이브러리를 만들었습니다. cargo new my_lib 다른 프로그램에서 해당 라이브러리를 사용하고 싶습니다. cargo new my_program --bin extern crate my_lib; fn main { println!("Hello, World!"); } 이 작업을 수행하려면 어떻게해야합니까? 동일한 프로젝트 폴더에 없습니다. . ├── my_lib └── my_program 바라건대 이것은 의미가 있습니다. 화물 가이드에 따라 경로를 재정의 할 수 있다고 생각 …

1
Rust 구조체에서 변수를 초기화하는 더 빠르고 짧은 방법이 있습니까?
다음 예제에서 필자는 필드 선언에서 구조체의 각 필드에 값을 할당하는 것을 선호합니다. 또는 각 필드에 대해 하나의 추가 문을 사용하여 필드에 값을 할당합니다. 내가 할 수있는 것은 구조체가 인스턴스화 될 때 기본값을 할당하는 것뿐입니다. 더 간결한 방법이 있습니까? struct cParams { iInsertMax: i64, iUpdateMax: i64, iDeleteMax: i64, iInstanceMax: i64, tFirstInstance: …
102 rust 

1
HashMap에서 효율적으로 조회하고 삽입하는 방법은 무엇입니까?
다음을 수행하고 싶습니다. 를 조회 Vec특정 키를, 나중에 사용할 수 있도록 저장합니다. 존재하지 않는 경우 Vec키에 대해 비어 있지만 여전히 변수에 유지하십시오. 이를 효율적으로 수행하는 방법은 무엇입니까? 당연히 사용할 수 있다고 생각했습니다 match. use std::collections::HashMap; // This code doesn't compile. let mut map = HashMap::new(); let key = "foo"; let …
102 hashmap  rust  lookup 

5
모듈을 여러 파일로 분할
각각 자체 파일에 여러 구조체가있는 모듈을 갖고 싶습니다 . 사용하여 A Math예로서 모듈 : Math/ Vector.rs Matrix.rs Complex.rs 각 구조체가 동일한 모듈에 있기를 원하며 다음과 같이 기본 파일에서 사용할 것입니다. use Math::Vector; fn main() { // ... } 그러나 Rust의 모듈 시스템 (처음에는 약간 혼란 스럽습니다)은이를 수행하는 명백한 방법을 제공하지 …
102 module  rust 

3
Rust에서 Quake의 빠른 InvSqrt () 함수를 작성할 수 있습니까?
이것은 단지 내 자신의 호기심을 만족시키기위한 것입니다. 이것의 구현이 있습니까? float InvSqrt (float x) { float xhalf = 0.5f*x; int i = *(int*)&x; i = 0x5f3759df - (i>>1); x = *(float*)&i; x = x*(1.5f - xhalf*x*x); return x; } 녹에? 존재하는 경우 코드를 게시하십시오. 나는 그것을 시도하고 실패했다. 정수 형식을 …

1
Rust의 관용적 콜백
C / C ++에서는 일반적으로 일반 함수 포인터를 사용하여 콜백을 수행하며 void* userdata매개 변수도 전달할 수 있습니다. 이 같은: typedef void (*Callback)(); class Processor { public: void setCallback(Callback c) { mCallback = c; } void processEvents() { for (...) { ... mCallback(); } } private: Callback mCallback; }; Rust에서 이것을 …
101 callback  rust 

2
유형을 이동 만 가능하고 복사 불가능하게 만들 수 있습니까?
편집자 주 :이 질문은 Rust 1.0 이전에 제기되었으며이 질문의 일부 주장은 Rust 1.0에서 반드시 사실이 아닙니다. 두 버전을 모두 해결하기 위해 일부 답변이 업데이트되었습니다. 이 구조체가 있습니다 struct Triplet { one: i32, two: i32, three: i32, } 이것을 함수에 전달하면 암시 적으로 복사됩니다. 이제 일부 값은 복사 할 수 없으므로 …
96 rust 

3
Rust는 가비지 수집기 대신 무엇을 가지고 있습니까?
Rust에는 가비지 컬렉터가 없으며 바인딩이 범위를 벗어날 때 메모리가 어떻게 해제되는지 궁금합니다. 그래서이 예제에서 저는 Rust가 범위를 벗어날 때 'a'에 할당 된 메모리를 회수한다는 것을 이해합니다. { let a = 4 } 내가 가진 문제는 첫째로 이것이 어떻게 발생하는지, 둘째로 이것은 일종의 가비지 수집이 아닙니까? '일반적인'가비지 수집과 어떻게 다릅니 까?
95 rust 


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.