如果您要编写从Lua调用的API(基于1,例如表索引从1开始),您是否会将相同的规则应用于API?
例如,假设您的API有一个名为GetFoo(x,y)的函数,它在坐标(x,y)处返回一个Foo。你会在API的(0,0)或(1,1)处开始你的坐标轴,假设在系统本身(比如用C或C ++编写,基于0)这些东西从(0,0)开始(因此,如果您使用Lua约定,则在从lua堆栈中检索这些类型的操作的数字时,您总是必须减去1。)
答案 0 :(得分:5)
我没有使用Lua,但我想说一个坐标系特别是(0,0)将是首选。
对于其他所有内容,只要您在文档中明确说明,一定要从1开始索引。
答案 1 :(得分:0)
您也可以在表/数组中使用0索引。唯一的不便是标准库使用基于1的约定。所以像table.sort,字符串操作等......将忽略table [0]元素。