Programming Language/Rust
[Rust] up-down 게임 구현 (1) - 입력
SdardewValley
2021. 2. 19. 14:06
반응형
📌프로그램 흐름
- 프로그램은 1과 100 사이의 난수를 생성한다
- 플레이어는 예측값을 입력한다
- 예측값이 정답보다 크거나 같다면 알려주고 2번으로 돌아간다. 만약 예측값이 정답과 같다면 프로그램을 종료한다.
io 라이브러리는 std(표준 라이브러리)에 포함되어 있다. 플레이어에게 입력값을 받아오기 위해서 io 라이브러리를 가져온다.
러스트는 prelude에서 몇 개의 타입만을 가져오기 때문에 포함되어 있지 않으면 use 구문을 이용해 가져와야 한다.
변경할 수 있게 하기 위해 mut 키워드를 사용해서 변수를 선언하였다. ::는 new 함수가 String 타입의 연관함수(특정한 인스턴스가 아닌 타입 자체에 구현된 함수)라는 점을 의미한다. 이 new 함수는 빈 문자열을 생성한다.
stdin 함수는 표준 입력에 대한 핸들을 표현하는 std::io::Stdin 타입의 인스턴스를 리턴한다. 표준 입력 핸들의 read_line 메서드를 호출해서 사용자가 입력한 값을 얻어온다. read_line은 사용자가 입력한 값을 표준 입력으로부터 읽어 문자열에 저장한다. 사용자가 입력한 값을 저장하기 위해서 인자로 전달하는 문자는 변경가능해야 한다. &는 이 인수가 참조라는 것을 지시한다. 입력할 때 에러를 처리하기 위해서 expect 메서드를 정의한다. expect 메서드는 프로그램을 종료하고 인자에 전달한 메시지를 표시한다.
중괄호({})는 자리 지정자(placeholder)라고 부른다.