/
niceSOFT
/
swig
Обзор
Документация
Войти
/
niceSOFT
/
swig
Код
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Examples/lua/smartptr/runme.lua
47 строк
1 KB
Erez Geva
More Lua tests (#3405)
31 май 2026, 17:09
31 май 2026, 17:09
a1b3ca8
Код
Авторство
О чём код?
-- This file illustrates the proxy class C++ interface generated by SWIG. require("example") -- ----- Object creation ----- print("Creating some objects:") local cc = example.Circle(10) local c = example.ShapePtr(cc) print(" Created circles", c) local ss = example.Square(10) local s = example.ShapePtr(ss) print(" Created square", s) -- ----- Access a static member ----- print(string.format("\nA total of %d shapes were created", example.Shape.nshapes)) -- ----- Member data access ----- -- Set the location of the object c.x = 20 c.y = 30 s.x = -10 s.y = 5 print("\nHere is their current position:") print(string.format(" Circle = (%f, %f)", c.x, c.y)) print(string.format(" Square = (%f, %f)", s.x, s.y)) -- ----- Call some methods ----- print("\nHere are some properties of the shapes:") for _, o in ipairs({c, s}) do print(" ", o) print(" area =", o:area()) print(" perimeter =", o:perimeter()) end print("\nGuess I'll clean up now") c=nil s=nil cc=nil ss=nil -- Note: this invokes the virtual destructors collectgarbage() -- performs a full garbage-collection cycle. print(string.format("%d shapes remain", example.Shape.nshapes)) print("Goodbye")