2

Lua から呼び出される API を作成する場合 (テーブル インデックスは 1 から始まるなど、1 ベースです)、同じルールを API に適用しますか?

たとえば、API に、座標 (x,y) で Foo を返す GetFoo(x, y) という関数があるとします。API の座標軸を (0,0) または (1,1) から開始しますか?システム自体 (0 ベースの C または C++ で記述されているとします) では、これらは (0,0) から開始すると仮定します。 (したがって、Lua 規則を使用した場合、これらの種類の操作の数値を lua スタックから取得するときに、常に 1 を減算する必要があります)。

4

2 に答える 2

5

私はLuaを使用していませんが、座標系には特に(0,0)が望ましいと思います。

それ以外の場合は、ドキュメントに明確に記載されている限り、必ず1からインデックスを開始してください。

于 2010-12-12T10:31:14.003 に答える
0

テーブル/配列で 0 インデックスを使用することもできます。唯一の不便は、標準ライブラリが 1 ベースの規則を使用していることです。したがって、table.sort、文字列操作などは、table[0] 要素を無視します。

于 2010-12-12T11:33:52.220 に答える