Maths Games

Try some of our games below;

Odin Rqt-close ⭐ Editor's Choice

h := CreateFile("data.txt", ...) defer CloseHandle(h) // Guaranteed to run on scope exit // ... use h ...

A typical Odin solution uses conditional compilation: odin rqt-close

when ODIN_OS == "windows" close_fn :: proc(h: rawptr) windows.CloseHandle(transmute(windows.HANDLE)h) else when ODIN_OS == "linux" || ODIN_OS == "darwin" close_fn :: proc(fd: rawptr) sys.linux.close(transmute(int)fd) h := CreateFile("data

Odin’s lack of automatic cleanup is a feature, not a bug. It forces you to think about resource lifetimes at every step, leading to more predictable and often more efficient software. The rqt-close pattern—whether you name it that or simply call CloseHandle directly—is the cornerstone of robust system programming in Odin. It forces you to think about resource lifetimes

rqt-close is not a magic keyword or a hidden runtime feature. It is a discipline . By writing an explicit close for every opened file, created handle, or allocated system object, you retain full control over your program’s interaction with the operating system.