Sucht next () nach einem __pairs metamethod?

8

Im Allgemeinen die Syntax:

%Vor%

entspricht:

%Vor%

Aber was, wenn t eine __pairs Metamethode hat? Wird die standard next() Funktion dies überprüfen? Wenn nicht, ist es nicht besser immer pairs beim Iterieren über Tabellen zu verwenden und nie next() direkt aufzurufen?

    
Siler 11.04.2015, 16:07
quelle

1 Antwort

5

Nein, next() prüft nicht auf __pairs . Das Handbuch sagt das nicht.

Es kann aus dem zugehörigen Quellcode doppelt bestätigt werden, vergleiche luaB_pairs und luaB_next .

Es kann vorkommen, dass Sie nicht nach __pairs metamethod suchen möchten, also warum immer pairs über next verwenden?

    
Yu Hao 11.04.2015, 16:42
quelle

Tags und Links