- 201 名前:デフォルトの名無しさん mailto:sage [2021/11/27(土) 22:07:33.35 ID:tWlgYd9Y.net]
- その「フリー関数」とはクラスのメンバー関数ではない非メンバー関数として
クラスのないRustではその非メンバー関数の定義はどうなるの? 例えば以下のprint_all()は適当に作ったトレイトPrintAllのメンバーかもしれないけど 現実には('a'..='z').print_all();が動作してしまうわけで『誰のメンバー関数』なの?それとも非メンバー関数? trait PrintAll<T> { fn print_all(self); } impl<I: Iterator<Item=T>, T: Display> PrintAll<T> for I { fn print_all(self: I) { self.for_each(|x| println!("{}", x)); } }
|

|