Rust의 Ferris도 귀엽지 만 Clippy는 귀엽다.

7031 단어 Rust
이 기사는 「예소드 아웃풋 근육 훈련 Advent Calendar 2020」 23일째의 기사입니다.

ferris vs clippy



공식 마스코트 캐릭터의 게 페리스 군. 귀엽네요.
수많은 언어의 마스코트 캐릭터 중에서 제일 좋아할지도 모릅니다.



튜토리얼 하지만 이 마스코트 캐릭터를 사용해 귀엽고 표준 출력하는 라이브러리ferris-says가 소개되고 있습니다.
이런 아이가 치야호야 되고 있는 뒤에서 라이브러리에 준비되어 있는데 사용되지 않는 캐릭터? 를 찾아 버렸으므로, 이번은 그 소개.

환경


  • MacOS Catalina 10.15.7
  • Rust v1.48.0
  • IntelliJ Ultimate 2020.3

  • Rust plugin 0.3.137.3543-203

  • $ rustup -V
    
    rustup 1.23.1 (3df2264a9 2020-11-30)
    info: This is the version for the rustup toolchain manager, not the rustc compiler.
    info: The currently active `rustc` version is `rustc 1.48.0 (7eac88abb 2020-11-16)`
    

    Rust 자체 설치 절차는 여기
    (Windows 사람은 문서에도있는대로, 여기 참조)

    구현



    먼저 튜토리얼대로 프로젝트를 만듭니다.
    $ rustup new hello-rust
    
        Created binary (application) `hello-rust` package
    

    어떤 IDE (이번에는 IntelliJ)에서 열립니다.
    cargo.toml에 종속성을 추가합니다.

    cargo.toml
    [package]
    name = "hello-rust"
    version = "0.1.0"
    authors = ["swalowtail62 <[email protected]>"]
    edition = "2018"
    
    # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
    
    [dependencies]
    ferris-says = "0.2" # 追加
    
    main.rs도 수정합니다.

    main.rs
    use ferris_says::say;
    use std::io::{stdout, BufWriter};
    
    fn main() {
        let stdout = stdout();
        let message = String::from("Hello fellow Rustaceans!");
        let width = message.chars().count();
    
        let mut writer = BufWriter::new(stdout.lock());
        say(message.as_bytes(), width, &mut writer).unwrap();
    }
    

    이렇게 하면
    $ cargo run src/main.rs
    
     __________________________
    < Hello fellow Rustaceans! >
     --------------------------
            \
             \
                _~^~^~_
            \) /  o o  \ (/
              '_   -   _'
              / '-----' \
    

    제대로 매우 귀여운 ferris 군이 말하고 있습니다.

    너무 귀엽고 내부 실장이 신경이 쓰였으므로 GitHUb 를 조사해 보면, 다른 캐릭터 가 있지 않습니까!
    튜토리얼에서도 ferris군이 등장하는 것만으로, 날의 눈을 받지 않는 이 아이. . 사용해주지 않으면 너무 귀엽다.

    ferris 대신 그를 사용하려면 Rust features를 사용하면 괜찮습니다. 빨리 해보자.

    cargo.toml
    
    [dependencies]
    - ferris-says = "0.2"
    + ferris-says = { version = "0.2", features=["clippy"] }
    

    방금 설명한 해당 소스 코드를 읽으면 알 수 있지만 ferris-says 라이브러리의 featurescargo.toml에 나와 있습니다.

    이제 다시 실행해 보면,
    $ cargo run src/main.rs
    
     __________________________
    < Hello fellow Rustaceans! >
     --------------------------
            \
             \
                __
               /  \
               |  |
               @  @
               |  |
               || |/
               || ||
               |\_/|
               \___/
    

    . . . 너무 귀엽지 않아.
    역시 왕도의 ferris군 밖에 이겼네요.

    ↑가 정식으로 clippy라는 이름의 캐릭터인지는 모릅니다. 마음대로 부르고 있습니다.
    Rust에서 clippy라고 하면 lint 라이브러리이 연상된다고 생각합니다. 과연 이 라이브러리의 캐릭터라고 하는 것인가,,?

    좋은 웹페이지 즐겨찾기