2017-04-05 1 views
3

ルア5.2 変数userdataを反復する必要があります。 私が理解するように、私はgetmetatable__pairsを使ってこれを行うことができます。このように:ルア - ユーザーデータイテレータを実装する

for k, v in getmetatable(userdataVariable).__pairs do 
    -- someting 
end 

私はこれをしようとしているときに私は 'ゼロ値を呼び出すためにしようとする'取得します。

私はここ__pairs実装が見つかりました:what is actual implementation of lua __pairs?

function meta.__pairs(t) 
    return function(t, k) 
    local v 
    repeat 
     k, v = next(t, k) 
    until k == nil or theseok(t, k, v) 
    return k, v 
    end, t, nil 
end 

をしかし、私はtheseokで何をすべきか理解していませんか?私はここでどのような機能を定義すべきですか?

+0

私はあなたが実際にそれを必要とは思わない。 [そしてここを見てください](https://github.com/ThePhD/sol2/issues/146) –

答えて

0

私はあなたが__indexメタテーブルを探していると思います。