Builder Lite Pattern
Ratatuiでは、ほとんどのウィジェット (および他のオブジェクト) が[ビルダーライト]パターンを使用してフィールドを設定します。これにより、ウィジェットを変数に保存して変異させることなく、ウィジェットの表示方法をセットアップするメソッドを使用して、シングルショットでオブジェクトを作成できます。
ビルダーライトパターンは、各メソッドの self
パラメーターを消費し、更新されたフィールドで値を返します。パラグラフ (およびブロックに自動的にラップされることをサポートする他のウィジェット) からのこの例:
#[must_use]pub fn block(mut self, block: Block<'a>) -> Self { self.block = Some(block); self}
あなたは次のように呼ぶかもしれません:
let paragraph = Paragraph::new("foobar").block(Block::bordered())
アプリのコンピレーションでエラーや警告が表示された後にこのページに到達した場合、オブジェクトに対してセッターメソッドを呼び出しているが、結果を保存または使用していない可能性があります。これは、ウィジェットの実際の表示には影響しず、通常は間違いです。
例えば。次のコード:
let text = Text::raw("wrong");text.centered();
に置き換える必要があります:
let text = Text::raw("right").centered();
または、ウィジェットのセットアップを複数回再利用したい状況:
let text = Text::raw("right");let centered_text = text.clone().centered();let bold_text = text.bold();