2017-08-01 11 views
1

Hallo Ich bin ein ziemlich neuer Lua Programmierer und ich versuche, Parameter zu einem mehrdimensionalen Array zu übergeben, aber ich bekomme immer einen Nullwertfehler.Lua passiert multidimensionales Array

Ich habe ein mehrdimensionales Array:

local transform = { 
    forward = { 
    distance = 1, 
    swing = robot.swing, 
    move = robot.forward 
    }, 
    left = { 
    distance = 1, 
    swing = robot.swing, 
    move = robot.forward 
    }, 
    down = { 
    distance = 1, 
    swing = robot.swingDown, 
    move = robot.down 
    } 
} 

und ich versuche, Teile des Arrays zu übergeben, wie so:

function testFunc(transform, direction) 
    print(transform.direction.distance) 
end 

myFunc(transform, forward) 
+0

Die Tabellen sind, nicht Arrays. OK, in Lua-Arrays sind Tabellen, aber sie sind keine Array-ähnlichen Tabellen. Sie sind nur Schlüsselwerttabellen. –

Antwort

1

Der Ausdruck transform.direction den Wert in transform dessen Schlüssel sucht die Wort "Richtung". Wenn Sie den Wert, dessen Schlüssel der Wert der direction Variable möchten, verwenden Sie transform[direction] statt:

function testFunc(transform, direction) 
    print(transform[direction].distance) 
end 
+0

Vielen Dank! Das hat meine Frage beantwortet –