Thirty Days of Rust: 첫째 날

나는 Rust를 실제로 사용한 적이 없다는 것을 인정합니다. 한동안 관심이 있었지만, 이 아이디어가 떠오를 때까지 나는 그것을 사용할 핑계를 댄 적이 없습니다. 이런 종류의 일을 하는 것은 상상을 초월할 정도로 독창적이지는 않지만, 이것이 내가 스스로 이 일을 하게 될 것이라고 생각한 방법입니다. 첫날은 내 환경을 간단하게 설정하는 것입니다. VSCode를 편집기로, Rustup을 버전 관리자로, 그리고 화물을 패키지 관리자로 사용할 것입니다.

러업



나는 거짓말을 하지 않을 것이고, Rustup을 찾기 위해 말 그대로 "Rust Version Manager"를 찾아보고 더 많은 문서가 있는 것 같았기 때문에 rsvm보다 그것을 선택했습니다. 즉, 설치하기 위해 https://rustup.rs 에서 curl 명령을 사용하고 실행한 다음 즉시 rustup 명령을 사용하려고 시도했지만 Rustup이 자동으로 내 zshrc 경로에 추가되지 않았기 때문에 작동하지 않았습니다. 나는 그것을 수동으로했고 (바이너리는 ~/.cargo/bin에 있음) 명령이 잘 작동했습니다.

뱃짐



Cargo는 npm, dotnet, pip 등 기본적으로 다른 모든 패키지 관리자와 매우 유사하게 작동합니다(pip는 나머지보다 훨씬 덜 수행하지만). https://crates.io 을 통해 크레이트를 설치할 수 있지만 npm 또는 dotnet과 마찬가지로 프로젝트를 초기화하고 해당 프로젝트를 실행할 수도 있습니다. 내 프로젝트를 시작하기 위해 cargo new day1 를 실행하고 VSCode에서 디렉토리를 열었습니다.

VS코드



언어 서버, 멋진 Cargo.toml(package.json과 유사) 도우미, 더 나은 toml 언어 지원을 포함하여 Rust 프로그래밍에서 원하는 기능을 추가하는 VSCode용 확장 팩이 있습니다. 대체 Rust-analyzer 확장을 위해 언어 서버를 교체할 수 있지만 저는 기본 언어 서버를 사용했습니다.



저를 따라하시면 ​​새로운 Rust 프로젝트에 이미 Hello World 프로그램이 설정되어 있다는 사실을 알게 되실 것입니다. 그러나 Rust의 기능을 살펴보기 위해 약간 조정했습니다.

// src/main.rs

use rand::seq::SliceRandom;
use rand::thread_rng;
use std::str;

fn main() {
    let mut rng = thread_rng();
    let mut string_to_shuffle: Vec<char> = "Hello, World!".chars().collect();
    let unshuffled: &str = &string_to_shuffle.iter().collect::<String>();
    println!("Unshuffled: {}", unshuffled);
    string_to_shuffle.shuffle(&mut rng);
    let shuffled: &str = &string_to_shuffle.iter().collect::<String>();
    println!("Shuffled: {}", shuffled);
}


이것은 "Hello, World!"에서 얻는 정말 어리석은 방법이었습니다. 횡설수설을 끝내기 위해 하지만 문자열에서 벡터로 변환하고 다시 변환하는 방법에 대해 배웠으므로 그만한 가치가 있다고 생각합니다.

$ cargo run
Unshuffled: Hello, World!
Shuffled: o! WHllo,rdel


나는 Rust를 좋아한다, 나는 그것을 말할 것이다. PHP만큼 분명히 싫어하기 때문에 취하는 것이 매우 용감한 입장이라는 것을 압니다. 그러나 저는 Rust를 좋아하고 요즘 남은 시간이 기대됩니다. 이 일을 하는 것은 내가 생각했던 것보다 훨씬 더 많은 도전이 될 것이지만, 저는 그것에 대해 흥분합니다. 또한 이 챌린지에서 나중에 며칠 동안 더 큰 프로젝트를 수행할 수도 있습니다.

좋은 웹페이지 즐겨찾기