Si j'appelle une fonction foo(t[1])
via l'API C, puis-je de toute manière voir de quel tableau et de quel index il s'agit en argument, dans ce cas t
et 1
?
Le problème à résoudre est une fonction move_card(card, table_slots[0])
où je déplace une carte d'un emplacement sur une zone de jeu à un autre. table_slots
peut également être hand
ou player_slots
. Cela peut être résolu en utilisant une méta-table, indiquant le nom du tableau qui est consulté. Mais l'index est impossible à résoudre, ou non ? table_slots[0]
peut être un tableau card
, ou un overlay
ou une stack
(tableaux de cartes), ou nil
s'il est vide, tout comme player_slots
. Mais ce que je dois savoir en fait, c'est s'il provient d'un table_slots
ou d'un player_slots
.
Pourrais-je pirater une analyse de code ? Par exemple, obtenir la ligne où l'appel de fonction est effectué, puis faire correspondre l'index avec une expression rationnelle ? Je pourrais envoyer table_slots[0]
en tant que chaîne, aussi, comme move_card(card, "table_slot[0]")
. Moins élégant, mais ça fonctionne encore.