fun <T> T.apply(f: T.() -> Unit): T { f(); return this }
apply()
tüm tipler için belirlenmiş bir extension function dır. apply() fonksiyonu uygulanan nesnenin özelliklerine direk olarak apply kod bloğu içerisinden erişilebilir.
var file = File(dir)
file.mkdirs()
veya Java ile yazacak olursak
File makeDir(String path) {
File result = new File(path);
result.mkdirs();
return result;
}
Bu kodu aşağıdaki yapıya çevirebiliriz.
File(dir).apply { mkdirs() }