sol2/examples/source/tutorials/erase_demo.cpp

31 lines
517 B
C++
Raw Normal View History

#define SOL_ALL_SAFETIES_ON 1
2019-07-04 23:16:03 +08:00
#include <sol/sol.hpp>
2018-11-10 06:36:27 +08:00
2019-07-05 02:09:37 +08:00
#include <iostream>
2018-11-10 06:36:27 +08:00
int main() {
sol::state lua;
lua["bark"] = 50;
sol::optional<int> x = lua["bark"];
// x will have a value
2019-07-05 02:09:37 +08:00
if (x) {
2019-07-05 02:48:10 +08:00
std::cout << "x has no value, as expected" << std::endl;
2019-07-05 02:09:37 +08:00
}
else {
2019-07-05 02:48:10 +08:00
return -1;
2019-07-05 02:09:37 +08:00
}
2018-11-10 06:36:27 +08:00
2019-05-27 01:32:28 +08:00
lua["bark"] = sol::lua_nil;
2018-11-10 06:36:27 +08:00
sol::optional<int> y = lua["bark"];
// y will not have a value
2019-07-05 02:20:48 +08:00
if (y) {
2019-07-05 02:09:37 +08:00
return -1;
}
else {
std::cout << "y has no value, as expected" << std::endl;
}
2018-11-10 06:36:27 +08:00
return 0;
}