🔮 Object Singleton

object tworzy singleton - pojedynczą instancję dostępną bezpośrednio.

Podstawowy object

object Logger { let level = "INFO"; fn log(msg) { print(`[${this.level}] ${msg}`); } fn setLevel(l) { this.level = l; } } // Używamy bezpośrednio - bez tworzenia instancji Logger.log("Application started"); Logger.setLevel("DEBUG"); Logger.log("Debug message");

Object jako konfiguracja

object Config { let appName = "MyApp"; let version = "1.0.0"; let debug = true; fn getFullName() { return `${this.appName} v${this.version}`; } } print(Config.getFullName()); // "MyApp v1.0.0" print(Config.debug); // true

Inline object (anonimowy)

let counter = object { fn init() { this.value = 0; } fn increment() { this.value++; return this.value; } }; counter.init(); print(counter.increment()); // 1 print(counter.increment()); // 2