@ file : Shared Code Ċ package Ġcom . test . lambda Ċ Ċ import Ġcom . lightning k ite . kh ry sal is .* Ċ Ċ class ĠTest Class Ġ{ ĊĠĠĠ Ġvar Ġitem : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġfun Ġtest ( action : Ġ() -> Unit ){ ĊĠĠĠĠĠĠĠ Ġaction () ĊĠĠĠ Ġ} ĊĠĠĠ Ġfun Ġtest Rec ( action : ĠInt . ()-> Unit ){ ĊĠĠĠĠĠĠĠ Ġaction ( 2 ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġval Ġlambda With Many Inputs Ġ= Ġ{ Ġfirst : ĠInt , Ġsecond : ĠInt Ġ-> Ġfirst Ġ+ Ġsecond Ġ} ĊĠĠĠ Ġval Ġnullable Lambda : Ġ(( Int , ĠInt )-> Int )? Ġget () Ġ= Ġif ( item Ġ> Ġ 0 ) Ġlambda With Many Inputs Ġelse Ġnull ĊĊĠĠĠ Ġval Ġoh Th ats Me : ĠTest Class Ġget () Ġ= Ġthis ĊĊĠĠĠ Ġoperator Ġfun Ġinvoke ( left : ĠInt , Ġright : ĠInt ): ĠInt Ġ= Ġleft Ġ+ Ġright ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ" Test Ġitem Ġ$ item " ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġmain (){ ĊĠĠĠ Ġval Ġthe Answer Ġ= ĠTest Class (). apply Ġ{ Ġitem Ġ= Ġ 4 2 Ġ} ĊĠĠĠ Ġval Ġmy Lambda : Ġ( Int )-> String Ġ= Ġ{ ĊĠĠĠĠĠĠĠ Ġ" Number : Ġ$ it " ĊĠĠĠ Ġ} ĊĠĠĠ Ġthe Answer . let Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln ( it . toString ()) ĊĠĠĠ Ġ} ĊĠĠĠĠ 3 2 . let Ġ{ ĊĠĠĠ Ġ} ĊĠĠĠĠ 3 2 . let Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln ( it ) ĊĠĠĠ Ġ} ĊĠĠĠĠ 3 2 . let Ġlabel @{ ĊĠĠĠĠĠĠĠ Ġprintln ( it ) ĊĠĠĠĠĠĠĠ Ġprintln ( it ) ĊĠĠĠĠĠĠĠ Ġreturn @ label ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġlambda : Ġ() -> Unit Ġ= Ġlabel @{ Ġ-> ĊĠĠĠĠĠĠĠ Ġprintln (" Hi ") ĊĠĠĠĠĠĠĠ Ġreturn @ label ĊĠĠĠ Ġ} ĊĠĠĠ Ġval Ġlambda 2 : Ġ( Int , ĠString )-> Unit Ġ= Ġlabel @{ Ġi , Ġs Ġ-> ĊĠĠĠĠĠĠĠ Ġprintln ( s Ġ+ Ġi . toString ()) ĊĠĠĠĠĠĠĠ Ġreturn @ label ĊĠĠĠ Ġ} ĊĠĠĠ Ġval Ġlambda 3 : Ġ() -> Unit Ġ= Ġlabel @{ Ġ-> ĊĠĠĠĠĠĠĠ Ġif ( the Answer . item Ġ< Ġ 2 2 ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" Hello !") ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" WRONG ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġlambda 3 () ĊĠĠĠ Ġlambda 3 . invoke () ĊĊĠĠĠ Ġprintln ( the Answer ( 3 2 , Ġ 4 2 )) ĊĠĠĠ Ġprintln ( the Answer . invoke ( 3 2 , Ġ 4 2 )) ĊĠĠĠ Ġprintln ( the Answer . oh Th ats Me ( 3 2 , Ġ 4 2 )) ĊĠĠĠ Ġprintln ( the Answer . oh Th ats Me . invoke ( 3 2 , Ġ 4 2 )) ĊĊĠĠĠ Ġval Ġlambda With Many Inputs Ġ= Ġ{ Ġfirst : ĠInt , Ġsecond : ĠInt Ġ-> Ġfirst Ġ+ Ġsecond Ġ} ĊĠĠĠ Ġprintln ( lambda With Many Inputs ( 1 , Ġ 2 )) ĊĠĠĠ Ġprintln ( the Answer . lambda With Many Inputs ( 1 , Ġ 2 )) ĊĠĠĠ Ġprintln ( the Answer . lambda With Many Inputs . invoke ( 1 , Ġ 2 )) ĊĠĠĠ Ġprintln ( the Answer . oh Th ats Me . lambda With Many Inputs ( 1 , Ġ 2 )) ĊĠĠĠ Ġprintln ( the Answer . oh Th ats Me . lambda With Many Inputs . invoke ( 1 , Ġ 2 )) ĊĊĠĠĠ Ġvar Ġnullable Lambda Ġ= Ġif ( the Answer ( 3 2 , Ġ 4 2 ) Ġ< Ġ 1 0 0 ) Ġlambda 3 Ġelse Ġnull ĊĠĠĠ Ġnullable Lambda ?. invoke () Ċ }