1. 程式人生 > >lua 元方法 __index

lua 元方法 __index

內容 找到 table 判斷 通過 一個 不存在 tab 沒有

原方法 __index:

作用用於訪問元表中的內容。即當通過鍵來訪問table時,如果這個鍵沒有值,則lua會尋找該table中的 metatable 中的__index鍵。如果__index指向的是一個able,則lua會在__index指向的table中查找相應的鍵

Lua 查找一個元表的規則:

1、在表中查找,如果找到,則返回該鍵指向的值。如果找不到則繼續

2、判斷該表是否存在元表,如果沒有,則返回nil。 如果有元表則繼續

3、判斷元表中是否存在__index 方法,如果 __index不存在則返回nil。如果__index 方法是一個table,則重復1、2、3. 如果__index 方法是一個函數,則返回該函數的值

lua 元方法 __index