数値を解析するジェネリック関数が「FromStrが実装されていません」で失敗する

サッサ

Rustコードに次のジェネリック関数があります。

fn test<T>(text: &str) -> T {
    text.parse::<T>()
}

アイデアは、発信者が次のようなことをするということです

test::<u64>("2313");

しかし、コンパイルはこのメッセージで失敗します

error: the trait `core::str::FromStr` is not implemented for the type `T` [E0277]

昨日Rustを学び始めたばかりなので、これはおそらく非常に基本的な質問であり、答えを見つけることができませんでした。

ljedrz

エラーメッセージの状態と同様に、関数に適用するにはT実装core::str::FromStrする必要がありparseます。の型シグネチャparseは次のとおりです。

fn parse<F>(&self) -> Result<F, F::Err> where F: FromStr

これは、を実装するものに使用できる種類F(またはあなたの場合Tを制限しますFromStr他の問題は、test;によって返される型です。それはのものと同じである必要がありparse、A - Result

これらの問題を修正すると、関数は機能します。

use std::str::FromStr;

fn test<T: FromStr>(text: &str) -> Result<T, T::Err> {
    text.parse::<T>()
}

fn main() {
    println!("{:?}", test::<u64>("2313"));
}

OK(2313)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ジェネリック関数(インターフェースで実装された制約付き)を呼び出すと、制約が欠落しているというエラーが発生します。何が見えないのですか?

分類Dev

Azure関数:公開が失敗し、「外部プロセスによってロックされているため、Webデプロイは宛先のファイルを変更できません。」というメッセージが表示されます。

分類Dev

そのクラスのオブジェクトが作成されたときにコンストラクターがメモリを取得する外部で関数がクリアされていますか。関数が呼び出されていません

分類Dev

Comparableを拡張および実装しているにもかかわらず、ジェネリック型で演算子が定義されていません

分類Dev

ジェネリック型がトレイトを実装するかどうかに応じて、関数を異なる方法で実装するにはどうすればよいですか?

分類Dev

TensorFlowリピート関数がValueErrorで失敗する:なし値はサポートされていません

分類Dev

同じTまたは異なるRの値を返すジェネリック関数は、デフォルトのパラメーター値として高階関数 '(i:T)=> i'を受け入れることができません。

分類Dev

Kotlinの単純なジェネリック関数が失敗する

分類Dev

Rでは、ジェネリックメソッドが実装されているシグネチャをどのように確認できますか?

分類Dev

クラスに使用されるジェネリック型が値であるか参照型であるかに応じて、ジェネリッククラスの関数から異なる型を返すことはできますか?

分類Dev

Typescriptトレイトの実装:ジェネリックにそれがすでに拡張されていることを知らせる方法は?

分類Dev

ジェネリック抽象関数を実装する方法は?

分類Dev

mkdir:ディレクトリを作成できません:関数が実装されていません

分類Dev

mkdir:ディレクトリを作成できません:関数が実装されていません

分類Dev

javacが引数として使用される関数のジェネリック型引数を推測できないのはなぜですか?

分類Dev

Typescript-ジェネリック関数内で型マッピングが失敗する

分類Dev

GetLocationsが「メソッドを実行するオブジェクトが存在しません」で失敗する

分類Dev

Bashチェック環境変数が設定されていると失敗しますが機能しません

分類Dev

rsync:mkstemp "<filename>"が失敗しました:関数が実装されていません(38)

分類Dev

ジェネリック列挙型に関連する「タイプの値を期待される引数タイプに変換できません」エラーを理解しようとしています

分類Dev

ヘルムのアップグレードが「関数「X」が定義されていません」で失敗する

分類Dev

「関数が実装されていません」というエラーが発生するSamba

分類Dev

ジェネリック型変数に有効な定数(値)を割り当てることができません

分類Dev

ボタンをクリックすると、関数が実行されます-機能しませんか?

分類Dev

Javaで単純なジェネリック関数を実装するときにコンパイルエラーが発生しますか?

分類Dev

Javaで単純なジェネリック関数を実装するときにコンパイルエラーが発生しますか?

分類Dev

クラス属性を介して呼び出された関数オブジェクトが失敗する

分類Dev

特定のプロパティを実装する任意の構造体を受け入れることができるジェネリック関数をRustで作成するにはどうすればよいですか?

分類Dev

ジェネリックパラメーターに複数のデータ型がある場合、ジェネリックを錆びて実装するにはどうすればよいですか?

Related 関連記事

  1. 1

    ジェネリック関数(インターフェースで実装された制約付き)を呼び出すと、制約が欠落しているというエラーが発生します。何が見えないのですか?

  2. 2

    Azure関数:公開が失敗し、「外部プロセスによってロックされているため、Webデプロイは宛先のファイルを変更できません。」というメッセージが表示されます。

  3. 3

    そのクラスのオブジェクトが作成されたときにコンストラクターがメモリを取得する外部で関数がクリアされていますか。関数が呼び出されていません

  4. 4

    Comparableを拡張および実装しているにもかかわらず、ジェネリック型で演算子が定義されていません

  5. 5

    ジェネリック型がトレイトを実装するかどうかに応じて、関数を異なる方法で実装するにはどうすればよいですか?

  6. 6

    TensorFlowリピート関数がValueErrorで失敗する:なし値はサポートされていません

  7. 7

    同じTまたは異なるRの値を返すジェネリック関数は、デフォルトのパラメーター値として高階関数 '(i:T)=> i'を受け入れることができません。

  8. 8

    Kotlinの単純なジェネリック関数が失敗する

  9. 9

    Rでは、ジェネリックメソッドが実装されているシグネチャをどのように確認できますか?

  10. 10

    クラスに使用されるジェネリック型が値であるか参照型であるかに応じて、ジェネリッククラスの関数から異なる型を返すことはできますか?

  11. 11

    Typescriptトレイトの実装:ジェネリックにそれがすでに拡張されていることを知らせる方法は?

  12. 12

    ジェネリック抽象関数を実装する方法は?

  13. 13

    mkdir:ディレクトリを作成できません:関数が実装されていません

  14. 14

    mkdir:ディレクトリを作成できません:関数が実装されていません

  15. 15

    javacが引数として使用される関数のジェネリック型引数を推測できないのはなぜですか?

  16. 16

    Typescript-ジェネリック関数内で型マッピングが失敗する

  17. 17

    GetLocationsが「メソッドを実行するオブジェクトが存在しません」で失敗する

  18. 18

    Bashチェック環境変数が設定されていると失敗しますが機能しません

  19. 19

    rsync:mkstemp "<filename>"が失敗しました:関数が実装されていません(38)

  20. 20

    ジェネリック列挙型に関連する「タイプの値を期待される引数タイプに変換できません」エラーを理解しようとしています

  21. 21

    ヘルムのアップグレードが「関数「X」が定義されていません」で失敗する

  22. 22

    「関数が実装されていません」というエラーが発生するSamba

  23. 23

    ジェネリック型変数に有効な定数(値)を割り当てることができません

  24. 24

    ボタンをクリックすると、関数が実行されます-機能しませんか?

  25. 25

    Javaで単純なジェネリック関数を実装するときにコンパイルエラーが発生しますか?

  26. 26

    Javaで単純なジェネリック関数を実装するときにコンパイルエラーが発生しますか?

  27. 27

    クラス属性を介して呼び出された関数オブジェクトが失敗する

  28. 28

    特定のプロパティを実装する任意の構造体を受け入れることができるジェネリック関数をRustで作成するにはどうすればよいですか?

  29. 29

    ジェネリックパラメーターに複数のデータ型がある場合、ジェネリックを錆びて実装するにはどうすればよいですか?

ホットタグ

アーカイブ