エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
トレイト境界の落とし穴
ジェネリック関数を書く前に 単純な関数でなければジェネリック関数を書く前に一旦具体的な型で書いて、... ジェネリック関数を書く前に 単純な関数でなければジェネリック関数を書く前に一旦具体的な型で書いて、必要なトレイト境界を洗い出してからジェネリック化することをお勧めします。 何故かというと関数呼び出しの深いところで追加のトレイト境界が必要になるとそれを呼び出す側の関数すべてにトレイト境界を追加する必要が出てくる場合があるためです。 HRTBが必要になるケース 例えば最大公約数(GCD)を求める関数を作りたくなったとします。 最大公約数は以下のように計算できます。 \gcd(x, y) = \begin{cases} y & (x = 0)\\ x & (y = 0)\\ \gcd(y, x \bmod y) & (\text{otherwize}) \end{cases} これを素直にRustのコードにすると以下のようになります。 use num::Zero; use std::ops::R