Python 치콧토카르에서 시작하는 Rust 입문



개요



...
  • "Rust는 로고도 사이트도 멋지기 때문에 재미있을 것"이라고 생각합니다.
  • OS Sierra 때문에 설치에 좌절하면서도
  • Rust를 처음부터 만져
  • VScode에서 디버깅을 시작하십시오
  • Hello World까지의 이야기

  • Rust 입문이라든가 n번 달콤한 기사입니다.

    진짜, 문에 들어가는 레벨이므로 용서를.

    Rust 설치



    그래서 망설였습니다.
    $ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    

    처음 시도했지만 OS 버전이 너무 오래되었습니다! 그리고 화가났다.



    Logic9라고 하는 화석을 사용하기 위해 일부러 버전 떨어뜨리고 있으므로,
    낡았으니까 안 돼―… 라고 포기하고 있었던 곳,
    비슷한 상황에서 싸우고 있던 사람의 기록이 있었기 때문에,
    그것을 참고로 인스톨 해 보니, 통과했습니다.
    $ curl https://sh.rustup.rs -sSf | sh -s -- --help
    
    $ cargo --version
    cargo 1.50.0 (f04e7fab7 2021-02-04)
    
    $ rustc --version
    rustc 1.50.0 (cb75ad5db 2021-02-10)
    
    $ rustup --version
    rustup 1.23.1 (3df2264a9 2020-11-30)
    
  • 참고: Rust 설치 분투기 (말할만큼 분투는 하지 않았다) - Qiita

  • 프로젝트 만들기



    어쨌든 프로젝트를 만듭니다.
    파이썬은 파일 하나로 완결할 수 있는 방법을 알고 있습니다만,
    Rust는 몰라서 친절하게 절차를 거쳐 프로젝트를 만듭니다.
    $ cargo new hello --bin
    $ cd hello
    $ tree
    .
    ├── Cargo.lock
    ├── Cargo.toml
    ├── src
    │   └── main.rs
    └── target
        ├── CACHEDIR.TAG
        └── rls
            ├── CACHEDIR.TAG
            └── debug
                ├── build
                ├── deps
                │   ├── hello-76feb4ce3499974c.d
                │   ├── hello-86d258b864f270e1.d
                │   ├── libhello-76feb4ce3499974c.rmeta
                │   ├── libhello-86d258b864f270e1.rmeta
                │   └── save-analysis
                │       ├── hello-76feb4ce3499974c.json
                │       └── hello-86d258b864f270e1.json
                ├── examples
                └── incremental
                    ├── hello-27d20vfgw3w3a
                    │   ├── s-fvxh8t242p-kdjyar-b2rmmlvckmyu
                    │   │   ├── dep-graph.bin
                    │   │   ├── query-cache.bin
                    │   │   └── work-products.bin
                    │   └── s-fvxh8t242p-kdjyar.lock
                    └── hello-2v337gk94ucz4
                        ├── s-fvxh8t2nyf-1xpfnvz-2atsjlik91zz
                        │   ├── dep-graph.bin
                        │   ├── query-cache.bin
                        │   └── work-products.bin
                        └── s-fvxh8t2nyf-1xpfnvz.lock
    

    Hello world를 터미널에서 키메에 간다



    Rust 입문 - 토호호의 WWW 입문 를 보면,

    아무래도 cargo run 라고 하면 Hello World 할 수 있는 것 같기 때문에,
    조속히 갑니다.
    $ cargo run
    Finished dev [unoptimized + debuginfo] target(s) in 0.09s
         Running `target/debug/hello`
    Hello, world!
    

    할 수 있었다.

    VSCode 디버깅에서 살아남기



    디버그 때마다 일일이 cargo run 하는 것은 조금 번거롭기 때문에,
    애용 편집기의 VSCode로 디버깅 할 수 있습니다.

    확장 기능 설치



    조사하면 다음의 확장 기능이 필요하기 때문에 설치합니다.
  • Rust

  • 코드를 보완하거나 색칠하는 사람.
  • CodeLLDB

  • 잘 모르겠지만 어쨌든 Rust를 제대로 디버깅 할 수있는 사람.

    자 F5를 눌러 디버깅




  • 번역 : 시작 구성이 제공되지 않으므로 디버깅을 시작할 수 없습니다.

  • launch.json 설정하지 않고 OK 밖에 누르지 않기 때문에 OK


  • 번역 :이 작업 공간에서 Cargo.toml이 발견되었습니다.
    대상의 시작 구성을 생성하시겠습니까?

  • No를 누른 세계선의 나는 디버깅할 수 없었던 것 같아서,
    예를 선택합니다.
    그러면 자동으로 launch.json가 설정됩니다.
    {
      // IntelliSense を使用して利用可能な属性を学べます。
      // 既存の属性の説明をホバーして表示します。
      // 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387
      "version": "0.2.0",
      "configurations": [
        {
          "type": "lldb",
          "request": "launch",
          "name": "Debug executable 'hello'",
          "cargo": {
            "args": [
              "build",
              "--bin=hello",
              "--package=hello"
            ],
            "filter": {
              "name": "hello",
              "kind": "bin"
            }
          },
          "args": [],
          "cwd": "${workspaceFolder}"
        },
        {
          "type": "lldb",
          "request": "launch",
          "name": "Debug unit tests in executable 'hello'",
          "cargo": {
            "args": [
              "test",
              "--no-run",
              "--bin=hello",
              "--package=hello"
            ],
            "filter": {
              "name": "hello",
              "kind": "bin"
            }
          },
          "args": [],
          "cwd": "${workspaceFolder}"
        }
      ]
    }
    

    그래서 다시 F5로 디버깅을 키면Hello, world! 라고 표시되고 오늘은 승리입니다.

    대전에 감사드립니다.
    내일부터 즐겁게 드리겠습니다.

    참고


  • Visual Studio Code로 Rust 개발 환경을 구축하기 - Qiita
  • 좋은 웹페이지 즐겨찾기