プログラミング言語 Rust 4【ワッチョイ】 (302レス)
上下前次1-新
抽出解除 レス栞
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
9(3): (ワッチョイ 392d-FSib) 2018/01/12(金)20:43 ID:r1exnGKH0(2/4) AAS
申し訳ありません 途中送信してしまいました
コードをplaygroundに移しました
外部リンク:play.rust-lang.org
VecのDisplay::fmtをカスタマイズしたくて上の様にMyTypeを作成したのですが
Vecのメソッド委譲するためのコードを手書きする作業が煩雑になって困っています
何か上手い回避策は無いでしょうか?
10(1): (ワッチョイ 66e8-AMuz) 2018/01/12(金)21:23 ID:B4BnwQ220(1/2) AAS
>>9
私も初心者で分からないですが最終的に何がしたいんでしょうか?
11(1): 9 (ワッチョイ 392d-FSib) 2018/01/12(金)21:44 ID:r1exnGKH0(3/4) AAS
>>10
レスどうもです
Vec(他標準 struct)のDisplay::fmt出力をカスタマイズしたいんです 例えば
・要素数が多い場合、最初の数個を出力して残りを省略するとか
・要素の出力が長くなる場合、適当なところで改行するとか
・インデントを受け付けてネストしてる場合は改行とインデントで整形するとか
その上でVecのインターフェースをそのまま使いたいんですが
>>9のように新規の構造体を作る場合 手書きで委譲せねばならず
どうにか上手く出来ないもんかな……と
13(1): (アークセー Sxbd-YNmt) 2018/01/12(金)23:39 ID:XT/5sCZ8x(1) AAS
>>9 外部リンク:play.rust-lang.org
DerefとDerefMutを実装するといい。
↓にあるDeref Coarcionっていうコンパイラの機能で、x: MyType<T>に対し、&xが&MyType<T>とも&Vec<T>ともみなしてくれるようになる
外部リンク[html]:doc.rust-lang.org
更に追加でIntoとFromも簡単に実装できるから不自由は無くなるはず
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.020s