2017-01-01 7 views
2

私が書式設定など何か間違っていると、私はこのサイトを頻繁に使用しません。ルア関数入力からテーブルに名前をつける

ルアで関数を作ろうとしていますが、名前をつけてその名前のサブテーブルを作成すると、このようなものを試したときに関数のコードに入れた絶対名を作成しました。

NewSubtable = 
function(SubtableName) 
    Table.SubtableName = {} --Creates a subtable called SubtableName 
end 

この機能を使用するときに私が与えた名前で呼ばれるサブテーブルを作成するにはどうすればよいですか?指定された名前を使用しないで、関数を使用するときに割り当てられた変数を使用することをコードに知らせるためのインジケータなどがありますか?

編集:だから私はこれを試してみたときに、私が得る結果、「テーブルインデックスがnilである」と、それはライン4

私が行って、これをテストした上で、異なる入力方式を使用してエラーを指し、それはちょうど私のせいだった。私は文字列が私がやっていることに必要な値の型とは思えませんでした。私の問題は解決されました。

完全なコード:

Items = {} 

NewWeapon = function(id, name, desc, minDMG, maxDMG) 
    Items[id] = {} 
    Items[id].Name = name 
    Items[id].Desc = desc 
    Items[id].MinDMG = minDMG 
    Items[id].MaxDMG = maxDMG 
end 

NewWeapon(Test, "test", "test", 1, 1) 
+2

'テーブル[サブテーブル名] = {}' –

答えて

5

Table.SubtableNameは実際にTable['SubtableName']のためのシンタックスシュガーです。変数SubtableNameの内容を使用するには、idom Table[SubtableName]を使用します。

+2

ようこそ!テキストをバッククォートで囲み、コードとして表示します。 – lhf

+0

そのチップをありがとう。私はすでにコードをマークする方法を知りました!そしてあなたには良い2017! –

+0

私はそれをタイプする方法でテーブルを作成しようとするたびに、私はエラー "テーブルインデックスはありません"と私はそれを修正する手掛かりがありません。 – JoshuaCF

関連する問題