Ċ /** Ċ Ġ* ĠDemo Ġthe Ġ Ġk olt in Ġway Ċ Ġ* Ġusing Ġclass Ċ Ġ* Ċ Ġ*/ Ċ Ċ data Ġclass ĠFull Name ( val ĠfirstName : String , Ġval ĠlastName : String ) ĊĊ Ċ fun Ġmain (){ ĊĊĠĠĠ Ġ// parse String () ĊĠĠĠ Ġ// extension Function () ĊĠĠĠ Ġextension Properties () Ċ Ċ } Ċ Ċ fun Ġextension Function (){ ĊĊĠĠĠ Ġ// Ġpass Ġseparator ĊĠĠĠ Ġval Ġoutput Ġ= Ġ" R ag hun and an , K avi ". get FirstName (",") ĊĠĠĠ Ġ// Ġby Ġdefault Ġseparator Ġis Ġspace ĊĠĠĠ Ġ// Ġval Ġoutput Ġ= Ġ" R ag hun and an ĠK avi ". get FirstName () ĊĠĠĠ Ġprintln (" ĠFirst ĠName : Ġ$ output " Ġ) Ċ } Ċ Ċ fun Ġparse Name ( name : String ): FullName { ĊĠĠĠ Ġval Ġspace Ġ= Ġname . indexOf (' Ġ') ĊĊĠĠĠ Ġreturn ĠFull Name ( name . substring ( 0 , space ), Ġname . substring ( space + 1 )) Ċ } Ċ Ċ fun Ġparse String (){ ĊĊĠĠĠ Ġval Ġname Ġ= Ġparse Name (" R ag hun and an ĠK avi ") ĊĠĠĠ Ġval ĠfirstName Ġ= Ġname ĊĠĠĠ Ġval ĠlastName Ġ= Ġname ĊĊĠĠĠ Ġprintln (" First ĠName : Ġ$ firstName ") ĊĠĠĠ Ġprintln (" Last ĠName : Ġ$ lastName ") ĊĊĠĠĠ Ġif ( name != parse Name (" R ag hun and an ĠK avi ")) ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" Equals Ġdoes Ġnot Ġwork ") ĊĠĠĠ Ġ} else Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" Equals Ġwork 's !") ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠExtension Ġproperties Ċ Ġ*/ Ċ val ĠString . firstName Ġ: String Ċ get Ġ(){ ĊĠĠĠ Ġval Ġseparator Ġ= ĠindexOf ( Ġ" Ġ") ĊĠĠĠ Ġreturn Ġsubstring ( 0 , separator ) Ċ } Ċ Ċ fun Ġextension Properties (){ ĊĠĠĠ Ġprintln (" R ag hun and an ĠK avi ". firstName ) Ċ } ĊĊ