2014-12-13 3 views
0

나는 녹에서 몇 가지 코드와 혼란스러워하지만 나는 그것을 관리하고있다. 그러나 나는 녹에서 작동하는 iter()의 기능을 이해하는 데 문제가 있습니다. 문자열에 대해 가능한 결과는 무엇입니까?Rust에서 String.iter()는 무엇을합니까?

편집 simple.idstring입니다

impl Selector { 
    pub fn specificity(&self) -> Specificity { 
     // http://www.w3.org/TR/selectors/#specificity 
     let Selector::Simple(ref simple) = *self; 
     let a = simple.id.iter().len(); 
     let b = simple.class.len(); 
     let c = simple.tag_name.iter().len(); 
     (a, b, c) 
    } 
} 

.

+0

좀 더 정확하게 할 수 있습니까? 'iter' 함수는 (다른 모든 것들처럼)'Iterator' 특성을 구현하는 것을 반환합니다 ... – filmor

+0

당신은 무슨 뜻인지에 대한 코드 예제를 추가해야합니다. 나는 & str 또는 String ([코드 예] (http://is.gd/rADesd))에 iter가 있다고 생각하지 않는다. – Shepmaster

+1

@Adham, 예제가 완전하지 않습니다. FYI : http://stackoverflow.com/help/mcve; http://www.sscce.org/ – ArtemGr

답변

2

Robinson, 특히 this file에서 코드를 참조하는 것 같습니다.

SimpleSelector가 정의

하는 것으로 :

pub struct SimpleSelector { 
    pub tag_name: Option<String>, 
    pub id: Option<String>, 
    pub class: Vec<String>, 
} 

그래서 id하지String하지만 Option<String>입니다.

이 가능하게 포함 된 값의 반복자를 반환으로 Option

iter 정의된다.

값이 Some 인 경우 발생하는 코드를 작성할 수 있으며 None 인 경우에는 발생하지 않습니다.

+0

친구 감사합니다! 이 코드를 자바로 번역하려고하는데, iter()가 어떻게 자바 언어가 될 수 있습니까? – Adham

+0

@Adham이 댓글에 더 잘 들어 맞습니다. 새로운 질문을해야합니다. – Shepmaster

+0

친절한 당신 감사합니다 – Adham

관련 문제