エントリーの編集
![loading...](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/common/loading@2x.gif)
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
![アプリのスクリーンショット](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/entry/app-screenshot.png)
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Rustの単一実装トレイトパターン - 簡潔なQ
概要: ただ一つの実装をもつトレイトを定義するデザインパターンでできることとデメリットを紹介する。... 概要: ただ一つの実装をもつトレイトを定義するデザインパターンでできることとデメリットを紹介する。「単一実装トレイトパターン」という名前は今考えたもので、他に名前があるかもしれない。 既存の型や既存のトレイトにメソッドを追加する Rubyというプログラミング言語では、既存のクラスにメソッドを追加できる。InfoQの2008年の記事がわかりやすい。 単一実装トレイトパターンを使うと、Rustで同じことができる。 // 文字列にfooメソッドを追加する pub trait FooMixin { fn foo(&self); } impl FooMixin for str { fn foo(&self) { println!("foo {}", self); } } fn main() { "hoge".foo(); } Rubyのオープンクラスと異なり、Rustのこれは非常に保守的である。 メ