如果我foo(t[1])
通过 C API 调用一个函数,我可以以任何方式查看哪个表和哪个索引作为参数,在这种情况下t
和1
?
手头的问题是move_card(card, table_slots[0])
我将卡从游戏区域的一个插槽移动到另一个插槽的功能。table_slots
也可以是hand
or player_slots
。这可以使用元表来解决,说明正在访问的表的名称。但是索引是不可能解决的,或者是吗?table_slots[0]
可以是一张card
桌子,或者一个overlay
或stack
(卡片数组),或者nil
如果它是空的,就像player_slots
. 但实际上我需要知道的是它是否来自 a table_slots
or player_slots
。
我可以破解一些代码分析吗?比如,获取函数调用所在的行,然后通过正则表达式 grep 索引?我也可以table_slots[0]
作为字符串发送,例如move_card(card, "table_slot[0]")
. 不那么优雅,但仍然有效。