プログラミング言語 Rust 4【ワッチョイ】at TECHプログラミング言語 Rust 4【ワッチョイ】 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト10:デフォルトの名無しさん 18/01/12 21:23:37.23 B4BnwQ220.net >>9 私も初心者で分からないですが最終的に何がしたいんでしょうか? 11:9 18/01/12 21:44:35.31 r1exnGKH0.net >>10 レスどうもです Vec(他標準 struct)のDisplay::fmt出力をカスタマイズしたいんです 例えば ・要素数が多い場合、最初の数個を出力して残りを省略するとか ・要素の出力が長くなる場合、適当なところで改行するとか ・インデントを受け付けてネストしてる場合は改行とインデントで整形するとか その上でVecのインターフェースをそのまま使いたいんですが >>9のように新規の構造体を作る場合 手書きで委譲せねばならず どうにか上手く出来ないもんかな……と 12:デフォルトの名無しさん 18/01/12 22:44:10.61 B4BnwQ220.net >>11 その用途ならVecに別な名前のメソッドを直接implしちゃってそっち呼び出せばいいような気がしたんですが println!("{}", v.my_fmt()); みたいに 13:デフォルトの名無しさん 18/01/12 23:39:08.93 XT/5sCZ8x.net >>9 https://play.rust-lang.org/?gist=eec6671ba201493eb61891447824b92f&version=stable DerefとDerefMutを実装するといい。 ↓にあるDeref Coarcionっていうコンパイラの機能で、x: MyType<T>に対し、&xが&MyType<T>とも&Vec<T>ともみなしてくれるようになる https://doc.rust-lang.org/book/second-edition/ch15-02-deref.html#implicit-deref-coercions-with-functions-and-methods 更に追加でIntoとFromも簡単に実装できるから不自由は無くなるはず 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch