녹을 가지고 노는 것으로, 나는 어떤 코드를 한 클래스에 추출하고있다. 독립적 인 기능을 유지하기 위해 콜백 함수에 매달려 나중에 호출하려고합니다. 그하게멤버 변수를 통해 함수를 호출하려면 어떻게해야합니까?
이...path.../src/toy.rs:7:14: 7:19 error: type `&mut toy::Toy` does not implement any method in scope named `go`
...path.../src/toy.rs:7 self.go(n)
아마도, 특수 구문 (또는 완전히 다른 구조)있다 ...
pub struct Toy {
go: fn(count: i16) -> String,
}
impl Toy {
fn lets_go(&mut self, n: i16) -> String {
self.go(n)
}
}
건물의 날을 제공합니다 : 명백한 fn new()
건너 뛰는 포함, 간단하게하기 위해, 우리는 같은 것을 가지고 감각은 self.go()
콜이지만, 모든 문서에서 유사한 상황에 대한 예제 나 설명을 볼 수 없으므로 어느 방향 으로든 이해할 수 있습니다.
분명히, .go
은이 functor 류의 클래스 일 수 있지만 녹이 매우 관용적이지는 않습니다.
우수. 나는 괄호 안에 넣는 것이 도움이 될 것이라고 추측 했어야하지만 결코 가질 수 없었습니다. 감사! –