러스트

· 러스트
cargo run 명령어로 코드를 컴파일 한 다음 결과 바이너리 파일을 실행하는 것처럼, cargo test 명령어는 코드를 컴파일 한 후 테스트 결과를 바이너리 파일로 실행된다. cargo test 옵션을 확인하려면 cargo test --help, cargo test 옵션이 아닌 test 바이너리의 옵션을 확인하려면 cargo test -- --help명령어를 사용할 수 있다. 직/병렬 테스트 실행하기 기본적으로 각 테스트들은 병렬적으로 실행된다. 그래서 각각의 테스트가 독립적으로 실행되도록 주의해야 한다. 테스트들을 직렬로 실행하고 싶다면 --test-threads 플래그를 사용하고 뒤에 사용할 쓰레드 개수를 적어준다. $ cargo test -- --test-threads=1 기본적으로 테스트가 ..
· 러스트
특성(Trait) 예전부터 글에 자주 등장했던 특성(trait)이란 단어를 알아볼 시간이 왔다. 특성(트레잇)이란 타입들이 특정 타입이 갖고 있는 동작(기능)을 다른 타입들과 함께 공유할 수 있도록 공통적으로 갖는 동작에 대하여 추상화한 것을 말한다. 제네릭 타입이 어떤 행동을 하는 타입이 될 수 있도록 특정하는 것을 trait bounds라고 한다. traits은 인터페이스(interface)와 비슷하지만, 몇몇 차이점이 존재한다. Defining a trait 타입의 행동(behavior)은 그 타입이 호출할 수 있는 메소드들로 이루어져 있다. 이에 만약 같은 메소드를 가진다면 다른 타입이라도 같은 행동을 공유한다. 트레잇을 정의한다는 것은 어떤 목적을 달성하기 위해 필요한 행동(behavior)들을..
· 러스트
Super로 상대 경로 시작하기 super로 상대 경로를 시작하는 것은 파일 시스템에서 .. 구문을 이용하는 것과 비슷하다. 이전의 예시에서 셰프가 잘못된 주문을 고치고 손님에게 개인적으로 가져다주는 fix_incorrect_order 함수를 만든다고 가정해보자. fn serve_order() {} mod back_of_house { fn fix_incorrect_order() { cook_order(); super::serve_order(); } fn cook_order() {} } fix_incorrect_order 함수는 back_of_house 함수 안에 있으므로 back_of_house 의 부모 모듈(crater)에게 접근하기 위해 super 키워드를 사용할 수 있다. 그리고 부모 모듈에서 se..
쀼친구
'러스트' 태그의 글 목록