2016-11-21 5 views
0

私のLuaプログラムのこの小さな部分にはまっています。 現在、私はGPUtableという名前のテーブルを作成しました。そのキーはGPU名であり、値はシェーダのコア数です。私はio.write()を使って、GPUの名前を入力するためのユーザ入力プロンプトを作成しました。この入力を使用して(choice = io.read()を使用して)テーブルを検索し、シェーダのコア数を出力したいと思います。 たとえば、ユーザーがHD 7950を入力した場合、shaderコアを印刷するにはprint(GPUtable [choice])を使用し、nil(エラー)は表示しません。 何か助けがありますテーブル内で変数を検索する方法Lua

+3

'GPUtable = {[" HD 7950 "] = 1792、[" S3 ViRGE/DX "] = 0}; choice = io.read(); print(GPUtable [choice]) ' –

+0

とにかく、ありがとうございました。 – Striborg

答えて

0

テーブルキーが確かにHD 7950のようなGPU名である場合、それをsqaure括弧で索引付けすることで、あなたが探しているものが得られます。余分なコードがなければ、あなたの問題を診断するのは難しいです。

GPUTable = { ['HD 7950'] = 1792, ['GTX 1080'] = 2560 } 
print(GPUTable[io.read()]) 

これをエミュレータで実行してみてください。完全に動作するはずです。あなたの問題は、情報とインデックス作成の間にある可能性があります。キーが文字列であり、索引付け時に変更されていないことを確認してください。変数名が正しいこと、およびローカル変数を使用しようとしていないことを確認してください。それはあなたがそれを確認するためにインデックスを作成しているときに '選択'変数を印刷するのに役立ちます。

+0

それは完璧に動作します、ありがとう:) – Striborg

関連する問題