2016-07-23 2 views
1

방금 ​​Rust와 함께 놀기 시작했습니다. 아래의 코드 스 니펫을 실행하면 type ascription is experimental 메시지와 함께 컴파일 시간 오류가 발생합니다.함수 반환 값을 녹의 변수에 할당하는 방법은 무엇입니까?

use std::env; 

fn main() { 
    let arguments: Args = env:args(); 
} 

env:args 용 문서 함수가 Args 구조체를 돌려 보여주고 제가 Variable Binding sectionlet varname: type = value와 변수의 종류를 설정할 수 있음을 보여준다. 함수의 반환 값을 변수에 올바르게 할당하는 방법은 무엇입니까?

답변

6

당신은 표현의 단일 콜론을 사용하여

let arguments: Args = env::args(); 

찾고있는 것은 귀속을 입력하고, 현재 당신은 단지 변수 바인딩의 유형을 지정할 수 있습니다. 이 행의 : Args 주석은 선택 사항입니다.

두 개의 콜론을 사용하면 네임 스페이스 내의 항목에 액세스 할 수 있으므로 env::args이 아니라 env:args이 필요합니다.

+1

감사합니다. 네임 스페이스의 함수에 접근하기 위해'::'을 사용하는 목적을 이해합니다. 그러나 나는':'을 사용하는 이유를 정확하게 이해하지 못합니다. 내가 봤어 형식 어소 시에이 츠와 나는 그것이 무엇을 의미를 대략 이해하지만, 여기에 몇 가지 예제를 제공 할 수있는 무엇 녹슨에서 하나의 세미콜론을 사용하는 목적이 될 것이라고 보여줄 수 있습니까? – NoNameProvided

+2

@NoNameProvided 때로는 유추 할 수없는 유형입니다. 형식 어림셈을 사용하면 지정하기가 더 쉽습니다. [예제가 있습니다.] (기본값 : Default :: Default :: ()'의 차이점은 무엇입니까? https://play.rust-lang.org/?gist=5306c9bb7e2c83070b5dcd48be7d4eb2&version=nightly&backtrace=0) – Veedrac

+0

@Veedrac –

관련 문제