Domanda

Se si dovesse scrivere un'API che viene chiamato da Lua (che è 1-based, per esempio gli indici della tabella partono da 1), volete applicare la stessa regola alla tua API?

Per esempio, pronunciare l'API aveva una funzione chiamata getFoo (x, y) che restituito un Foo le coordinate (x, y). Volete iniziare la vostra coordinate assi (0,0) o (1,1) per l'API, partendo dal presupposto che nel sistema stesso (dire scritto in C o C ++, che sono 0-based) queste cose partono da (0,0) (quindi se si è utilizzato la convenzione Lua si dovrebbe sempre avere a sottrarre 1 durante il recupero di numeri per questo tipo di operazioni dalla pila lua).

È stato utile?

Soluzione

non ho usato Lua, ma direi per un sistema di coordinate specifico (0,0) sarebbe preferibile.

Per tutto il resto, fino a quando si affermi chiaramente nella documentazione, con tutti i mezzi iniziare indici a 1.

Altri suggerimenti

Si potrebbe anche solo utilizzare l'indice 0 nel vostro tavolo / array. L'unico inconveniente è librerie standard utilizzano la convenzione 1-based. Quindi le cose come table.sort, operazioni sulle stringhe, ecc ... ignorerà la tabella [0] elemento.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top