Rustling이란?
Rust에서 공식적으로 만들어 놓은 초보자를 위한 Rust 학습 프로젝트이다.
https://github.com/rust-lang/rustlings
GitHub - rust-lang/rustlings: :crab: Small exercises to get you used to reading and writing Rust code!
:crab: Small exercises to get you used to reading and writing Rust code! - rust-lang/rustlings
github.com
본인은 Windows 운영체제에서 VS Code를 통해 본 공부를 진행할 예정이다.
Rustling 시작하기
Rustling 설치
1. cmd 창에서 다음을 입력해 rustling을 설치해준다.
cargo install rustlings
2. rustling/
디렉터리를 초기화 시켜준다.
rustlings init
3. rustling/
디렉터리로 이동해 VS Code를 실행한다.
cd rustlings/
code .
4. 터미널창에서 rustling 프로그램을 실행해준다.
rustlings
여기까지 왔다면 Rustling을 시작하기 위한 준비가 모두 끝이다.
Rustling 학습 전 주의 사항
- Rustlings의 핵심 개념은 여러분이 문제를 해결하는 것입니다.
- 이 문제들은 보통 컴파일러 오류나 논리적 오류를 포함하고 있으며, 이로 인해 문제는 컴파일 또는 테스트에 실패하게 됩니다.
- 여러분의 역할은 이러한 모든 오류를 찾아 수정하는 것입니다!
- 여러분의 에디터가
rustlings/
디렉토리 안에 열려 있는지 확인하세요. - Rustlings는 진행 바 아래에 현재 문제의 경로를 표시할 것입니다.
- 에디터에서 해당 파일을 열고, 오류를 수정한 후 파일을 저장하세요.
- Rustlings는 파일 변경 사항을 자동으로 감지하고 문제를 다시 실행할 것입니다.
- 모든 오류가 수정되면, Rustlings는 다음 문제로 넘어가도록 요청할 것입니다.
TODO
또는todo!()
를 검색하여 수정할 부분을 찾을 수 있으며, 도움말이 필요할 경우watch mode
에서h
를 입력해 힌트를 받을 수 있습니다.
Watch 모드
초기 설정 후, rustlings
명령어를 실행하면 Watch 모드가 시작됩니다.
이 모드는 사전에 정해진 순서대로 문제를 안내하며, 문제 파일을 수정할 때마다 자동으로 현재 문제를 다시 실행합니다.
Watch 모드에서 파일 변경을 감지하지 못하는 경우, 클릭하여 확장할 수 있는 추가 정보를 제공합니다.
연습 문제 목록
rustlings
실행 후 Watch 모드에서 l
을 입력하면 상호작용 가능한 연습 문제 목록이 열립니다.
목록에서는 다음을 할 수 있습니다:
- 모든 연습 문제의 상태(완료 또는 대기 중) 확인
c
: 다른 문제로 넘어가기(일부 문제를 건너뛰거나 이전 문제로 돌아가기)r
: 문제의 상태 및 파일을 초기화(이후 에디터에서 파일을 다시 로드/열어야 함)
Rustling을 풀어보자!
Watch 모드에 진입하면 현재 풀어야 하는 문제를 알 수 있다.
첫 문제는 소개 내용이 담긴 인트로로, n
을 눌러 다음 문제로 넘어갈 수 있다.
exercises/00_intro/intro2.rs 문제 풀이
exercises/00_intro/intro2.rs
문제로 넘어갔더니 다음 에러가 발생했다.
현재 스코프에서 printline
이라는 매크로를 찾을 수 없다고 한다.
소스코드를 살펴보자.
printline!("Hello world!");
를 println!(”Hello world!”);
로 수정해 문제를 수정할 수 있다.
3번째 줄에 잘못된 매크로를 수정해 저장하면 자동으로 문제 채점이 수행되어 다음 단계로 넘어갈 수 있다.
'Programming Language > RUST' 카테고리의 다른 글
[Rustling] exercises/01_variables/variables2.rs 풀기 (0) | 2024.10.11 |
---|---|
[Rustling] exercises/01_variables/variables1.rs 풀기 (1) | 2024.10.11 |
RUST의 데이터 타입 (0) | 2024.10.10 |
Rust의 변수 (1) | 2024.10.08 |
Rust로 만드는 숫자 추리 게임 (8) | 2024.10.08 |