Rustで文字列列挙型を作成できますか?

KrzysztofKaczyński

enumRustで一定の文字列値を使用て作成することは可能でしょうかSOで、私はこの質問を見つけました:列挙型を文字列として取得するにはどうすればよいですか?これは役に立ち、のキーを文字enum化するため.to_sting()実行できる回避策の種類を示していますキーで使用enum、名前を文字列として取得できます)。

私が達成したいこと:

enum StringEnum {
    Hello = "Hello",
    World = "World"
}
イブラヒーム・アーメド

Rustにこのような列挙型がある場合:

enum MyEnum {
    Hello,
    World
}

HelloWorldは列挙型のバリアントです。Rustでは、各バリアントを文字列として表すことは機能しません。これは、各バリアントの文字列の長さが異なるため、使用するバイト数が異なるためです。

Rustの列挙型のすべてのバリアントは、単一の整数値に割り当てられます。これが機能するのは、マシンの整数が指定されたビット数(i32vsi8など)を占めるため、すべてのバリアントのサイズが同じになるためです。

列挙型を文字列に変換できるようにする場合は、メソッド/フォーマッターを実装する必要があります。これを行う最も簡単な方法は、strum_macros木枠を使用することです。

#[derive(strum_macros::Display)]
pub enum StringEnum {
    Hello,
    World
}


fn main() {
    let hello: &'static str = StringEnum::Hello.into(); // "Hello"
    let world: String = StringEnum::World.to_string(); // "World"
}

列挙型を文字列として取得するにどうすればよいですか?に記載されている他の方法がいくつかあります。

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

Javaで抽象列挙型を作成できますか?

分類Dev

モデルで文字列値から列挙型を作成します

分類Dev

私はバイト文字列から列挙型を変更できますか?

分類Dev

Python列挙型属性に空の文字列を使用できますか?

分類Dev

Android StudioのSQLiteで独自の列挙型を作成できますか?

分類Dev

Ada:配列要素を列挙型に変換できますか?

分類Dev

netlogoで列挙型を作成する方法はありますか?

分類Dev

なぜ列挙型から文字列を取得できないのですか?

分類Dev

列挙型文字列を使用するときに、割り当てられた値から列挙型キーを取得できますか?

分類Dev

列挙型で文字列を検索し、列挙型を返します

分類Dev

列挙型全体で文字列を取得し、列挙型定数を返します

分類Dev

Javaで列挙型の序数を指定できますか?

分類Dev

追加の値で列挙型を拡張できますか?

分類Dev

Hibernateで内部列挙型を永続化できますか?

分類Dev

関数内で列挙型を定義できますか?

分類Dev

数値で列挙型を設定できますか?

分類Dev

ABAPで列挙型(列挙型)を作成することは可能ですか?

分類Dev

文字列列挙型を直接参照できないのはなぜですか?

分類Dev

文字列列挙型を直接参照できないのはなぜですか?

分類Dev

Javaの列挙型に関数を追加できますか?

分類Dev

列挙型をクラスとして使用できますか?

分類Dev

列挙型を再キャストできますか?

分類Dev

列挙型の値ごとにJRadioButtonを追加できますか?

分類Dev

列挙型を文字列でパーセルに書き込みます

分類Dev

列挙型は整数の代わりに文字列を返すことができますか?

分類Dev

すべての値が列挙型である配列を作成しますか?

分類Dev

列挙型をJsonから文字列にすばやく変換できません

分類Dev

ジェネレーターで作成する列挙型を待つことはできますか?

分類Dev

Rustで定数値を持つ列挙型を作成するにはどうすればよいですか?

Related 関連記事

  1. 1

    Javaで抽象列挙型を作成できますか?

  2. 2

    モデルで文字列値から列挙型を作成します

  3. 3

    私はバイト文字列から列挙型を変更できますか?

  4. 4

    Python列挙型属性に空の文字列を使用できますか?

  5. 5

    Android StudioのSQLiteで独自の列挙型を作成できますか?

  6. 6

    Ada:配列要素を列挙型に変換できますか?

  7. 7

    netlogoで列挙型を作成する方法はありますか?

  8. 8

    なぜ列挙型から文字列を取得できないのですか?

  9. 9

    列挙型文字列を使用するときに、割り当てられた値から列挙型キーを取得できますか?

  10. 10

    列挙型で文字列を検索し、列挙型を返します

  11. 11

    列挙型全体で文字列を取得し、列挙型定数を返します

  12. 12

    Javaで列挙型の序数を指定できますか?

  13. 13

    追加の値で列挙型を拡張できますか?

  14. 14

    Hibernateで内部列挙型を永続化できますか?

  15. 15

    関数内で列挙型を定義できますか?

  16. 16

    数値で列挙型を設定できますか?

  17. 17

    ABAPで列挙型(列挙型)を作成することは可能ですか?

  18. 18

    文字列列挙型を直接参照できないのはなぜですか?

  19. 19

    文字列列挙型を直接参照できないのはなぜですか?

  20. 20

    Javaの列挙型に関数を追加できますか?

  21. 21

    列挙型をクラスとして使用できますか?

  22. 22

    列挙型を再キャストできますか?

  23. 23

    列挙型の値ごとにJRadioButtonを追加できますか?

  24. 24

    列挙型を文字列でパーセルに書き込みます

  25. 25

    列挙型は整数の代わりに文字列を返すことができますか?

  26. 26

    すべての値が列挙型である配列を作成しますか?

  27. 27

    列挙型をJsonから文字列にすばやく変換できません

  28. 28

    ジェネレーターで作成する列挙型を待つことはできますか?

  29. 29

    Rustで定数値を持つ列挙型を作成するにはどうすればよいですか?

ホットタグ

アーカイブ