🔗 Property Delegation (by)

Operator by deleguje właściwość do specjalnego handlera.

lazy - leniwa inicjalizacja

let config by lazy { print("Ładowanie konfiguracji..."); {host: "localhost", port: 8080} }; // Blok wykona się przy pierwszym dostępie print(config.host); // "Ładowanie..." + "localhost" print(config.port); // 8080 (używa cache)

observable - reaktywne wartości

let counter by observable(0); // Dodaj obserwatora fn onChange(newVal, oldVal) { print(`Zmiana: ${oldVal} -> ${newVal}`); } counter.subscribe(onChange); // Zmiana wartości wywołuje callback counter.setValue(5); // "Zmiana: 0 -> 5" counter.setValue(10); // "Zmiana: 5 -> 10" print(counter.getValue()); // 10