fun Ġmain (){ ĊĠĠĠ ĠgetMax ( 1 2 , Ġ 2 ) ĊĠĠĠ Ġprintln (" double : Ġ${ double ( 5 3 . 5 2 )} ") ĊĠĠĠ Ġprintln (" triple : Ġ${ triple ( 4 5 . 3 )} ") ĊĠĠĠ Ġprintln (" quadr uple : Ġ${ quadr uple ( 2 2 5 3 . 0 )} ") ĊĊĠĠĠ Ġvar Ġquad _ answer Ġ= Ġquadr uple ( 5 5 3 . 0 ) ĊĠĠĠ Ġprintln ("$ quad _ answer Ġtype : Ġ${ quad _ answer :: class . simple Name }") ĠĠ Ġ// Ġget Ġdata Ġtype ĊĊĠĠĠ Ġprint (" single Line _ getMax : Ġ${ single Line _ getMax ( 2 , Ġ 4 5 )} ") Ċ } Ċ Ċ // Ġfunction Ġreturn Ġsyntax Ċ fun ĠgetMax ( num 1 : ĠInt , Ġnum 2 : ĠInt ): ĠInt Ġ{ ĊĠĠĠ Ġval Ġmax : ĠInt Ġ= Ġif Ġ( num 1 Ġ> Ġnum 2 ) Ġnum 1 Ġelse Ġnum 2 ĊĠĠĠ Ġprintln ( max ) Ġ Ġ// ĠCtrl Ġ+ ĠSh it Ġ+ ĠP Ġ= ĠUnit . Ġ ĠUnit Ġis Ġa Ġkind Ġof Ġ' type ', Ġwhich Ġis Ġnot Ġmeaningful . ĠSimilar Ġto Ġ' void ' Ġin Ġjava . ĊĠĠĠ Ġreturn Ġmax Ċ } Ċ Ċ fun Ġsingle Line _ getMax ( num 1 : ĠInt , Ġnum 2 : ĠInt ): ĠInt Ġ= Ġif Ġ( num 1 Ġ> Ġnum 2 ) Ġnum 1 Ġelse Ġnum 2 Ċ Ċ fun Ġdouble ( num : ĠDouble ): ĠDouble { ĊĠĠĠ Ġreturn Ġnum Ġ* Ġ 2 Ċ } Ċ Ċ // Ġsyntax Ġfor Ġsingle - expression Ġfunctions Ċ // ĠIn Ġsingle - expression Ġfunctions , Ġwe Ġdon 't Ġneed Ġthe Ġ' return ' Ġkeyword . Ċ // ĠHowever , Ġin Ġblock Ġbodies , Ġwe Ġmust Ġdeclare Ġ' return ', Ġwe Ġmight Ġbe Ġreturning Ġunits Ġimplicitly Ġotherwise . Ċ fun Ġtriple ( num : ĠDouble ): ĠDouble Ġ= Ġnum Ġ* Ġ 3 Ċ fun Ġquadr uple ( num : ĠDouble ) Ġ= Ġnum Ġ* Ġ 4 Ċ