package ĠA qu ari um 5 Ċ Ċ data Ġclass ĠFish Ġ( var Ġname : ĠString ) Ċ Ċ fun Ġmain Ġ( args : ĠArray < String >) Ġ{ ĊĠĠĠ Ġfish Examples () Ċ } Ċ Ċ fun Ġfish Examples () Ġ{ ĊĠĠĠ Ġval Ġfish Ġ= ĠFish Ġ(" splash y ") ĊĠĠĠ Ġmy With Ġ( fish . name ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln ( capitalize ()) ĊĠĠĠ Ġ} ĊĠĠĠ Ġ// Ġuseful ĠHigh Ġorder Ġfunctions Ġin Ġthe Ġstandard Ġlibrary ĊĠĠĠ Ġprintln ( fish . run Ġ{ Ġname Ġ}) Ġ// Ġreturns Ġthe Ġresult Ġof Ġthe Ġfunction ĊĠĠĠ Ġfish . apply Ġ{ Ġ Ġ} Ġ// Ġreturns Ġthe Ġobject Ġon Ġwhich Ġthe Ġfunction Ġis Ġapplied Ġ( in Ġthis Ġexample Ġ" fish ) ĊĊĠĠĠ Ġval Ġfish With Apply Ġ= ĠFish (" splash y 2 "). apply Ġ{ Ġname Ġ= Ġ" Sh ark y " Ġ} ĊĠĠĠ Ġprintln ( fish With Apply . name ) ĊĊĠĠĠ Ġprintln ( fish . let Ġ{ Ġit . name . capitalize ()} Ġ// Ġlet Ġreturns Ġa Ġcopy Ġof Ġthe Ġchanged Ġobject . ĠIt Ġis Ġparticularly Ġuseful Ġfor Ġchaining Ġmanip ulations Ġtogether ĊĠĠĠĠĠĠĠ Ġ. let Ġ{ Ġit Ġ+ Ġ" fish " Ġ} ĊĠĠĠĠĠĠĠ Ġ. let Ġ{ Ġit . length Ġ} ĊĠĠĠĠĠĠĠ Ġ. let Ġ{ Ġit Ġ+ Ġ 3 1 Ġ} Ġ) Ġ// Ġprints Ġ 4 2 Ċ } Ċ Ċ /* ĊĠ Ġblock Ġis Ġthe Ġdefault Ġname Ġin ĠKotlin Ġfor Ġfunction Ġparameters ĊĠ ĠAfter Ġthe Ġcolon Ġthe Ġ" receiver " Ġobject Ġis Ġdefined Ġ-> Ġthat 's Ġthe Ġclass Ġwhich Ġis Ġextended ĊĠ ĠAfter Ġthe Ġ" ->" Ġthe Ġreturn Ġis Ġdefined , Ġin Ġthis Ġcase Ġ" Unit " Ġis Ġused Ġbecause Ġnothing Ġis Ġreturned Ċ Ġ*/ Ċ inline Ġfun Ġmy With ( name : ĠString , Ġblock : ĠString . () Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġname . block () Ċ }