Rust part13at TECHRust part13 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト200:デフォルトの名無しさん 21/11/27 21:44:30.32 lc2cVbH3.net 馬鹿っていちいち言うなよ 素直になれや 201:デフォルトの名無しさん 21/11/27 22:07:33.35 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)); } } 202:デフォルトの名無しさん 21/11/27 22:20:27.30 w2+KtZN6.net 第一引数がselfである関数(メソッド)を自由関数として呼び出すことはできるけどその逆は真ではないってことじゃないかな。 https://en.wikipedia.org/wiki/Uniform_Function_Call_Syntax 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch