Estructuras de datos orientadas a objetos de Big Talk C y Lua (V): datos de usuario
¿Cómo implementar la orientación a objetos?
¡Cualquiera que esté familiarizado con Lua lo sabe! Lua ya implementa internamente mecanismos básicos orientados a objetos (tablas) y también proporciona un conjunto de interfaces al lenguaje anfitrión (lenguaje C en este caso) para implementar estructuras de datos personalizadas (datos de usuario). Aquí, podemos simplemente implementar un método simple de acceso orientado a objetos para datos de usuario utilizando mecanismos de acceso a metatabla y __index.
stu.c
main.lua
Resultados de la ejecución:
Los resultados de la ejecución son muy simples. Ahora, analicemos brevemente los pasos de implementación.
Primero, creamos una metatabla en el registro y la llamamos "stu". Luego agregamos un metamétodo __index a esta metatabla y lo usamos como el campo de búsqueda de claves. Finalmente, usamos setfuncs para inyectar métodos en la metatabla.
Los pasos anteriores son equivalentes en lua:
Esto es lo que debe buscar: