[解決済み] Godotで文字列をenumに変換するには?
2022-02-12 13:15:33
質問
Godot 3.4 を使用して、enum を次のように設定しています。
enum {
STRENGTH, DEXTERITY, CONSTITUTION, INTELLIGENCE, WISDOM, CHARISMA
}
そして、文字列 "STRENGTH" が enum 値 (0) を返すようにしたいのです。以下のコードで配列の最初の項目を表示したいのですが、現在、STRENGTHは無効な取得インデックスであるというエラーが表示されます。
boost = "STRENGTH"
print(array[boost])
私は何か間違ったことをしているのでしょうか、それとも文字列をenumとして認識できるものに変換する機能はあるのでしょうか?
解決方法は?
まず、enumには名前が必要です。名前がなければ、enum は一連の定数を作るための単なる空想の方法です。この答えのために、ここでは
MyEnum
のようなものです。
enum MyEnum {
STRENGTH, DEXTERITY, CONSTITUTION, INTELLIGENCE, WISDOM, CHARISMA
}
さて、enumを参照して、その要素について質問することができます。特に、このような名前に関連する値が何であるかを把握することができます。
var boost = "DEXTERITY"
print("Value of ", boost, ": ", MyEnum.get(boost))
これで印刷されるはずです。
Value of DEXTERITY: 1
ちなみに、値から名前を取得する場合は、このようにします。
var value = MyEnum.DEXTERITY
print("Name of ", value, ": ", MyEnum.keys()[value])
これで印刷されるはずです。
Name of 1: DEXTERITY
取得されるのは、enumの内容を持つ通常のディクショナリ・プリセットです。ですから、すべての値について尋ねることができます。
for boost in MyEnum:
print(boost)
どちらが印刷されるか。
STRENGTH
DEXTERITY
CONSTITUTION
INTELLIGENCE
WISDOM
CHARISMA
また、特定のものがあるかどうかを尋ねることもできます、例えば
print(MyEnum.has("ENDURANCE"))
プリント
False
.
そして、はい、あなたは辞書を編集することができました。これは、enumの値で初期化された辞書に過ぎません。
関連
-
[解決済み] Java enumのメンバーを比較する:==またはequals()?
-
[解決済み] enumを列挙するには
-
[解決済み] intをenumにキャストするにはどうすればよいですか?
-
[解決済み] Javaで文字列値からenum値を取得する方法
-
[解決済み] C#でenumからint値を取得する
-
[解決済み] C#の[Flags]Enum属性の意味とは?
-
[解決済み] JavaScriptSerializer - 列挙型を文字列としてJSONシリアライズする
-
[解決済み] Goでenumを表現する慣用的な方法は何ですか?
-
[解決済み】C#で文字列をenumに変換する
-
[解決済み] angular2 のビューテンプレートで enum を渡す
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 式は、算術式またはスコープされていない enum 型でなければなりません。
-
[解決済み] Godotで文字列をenumに変換するには?
-
[解決済み] Typescript の enum スイッチが機能しない
-
[解決済み] Goでenumを表現する慣用的な方法は何ですか?
-
[解決済み] enumの項目名を取得する方法は?
-
[解決済み] angular2 のビューテンプレートで enum を渡す
-
[解決済み] Dart enumの "値 "を取得する方法
-
[解決済み] TypeScriptでenumのような型を作成する方法は?
-
[解決済み] 逆引きでKotlinのEnumを効率的に使う?