package Ġutilities Ċ Ċ fun Ġ< T > Ġarg Param ( args : ĠArray < String >, Ġname : ĠString , Ġdefault : ĠT ): ĠT Ġ{ ĊĠĠĠ Ġval Ġfn : Ġ( String ) Ġ-> ĠT Ġ= Ġwhen Ġ( default ) Ġ{ ĊĠĠĠĠĠĠĠ Ġis ĠInt Ġ-> Ġ{ Ġx : ĠString Ġ-> Ġx . toInt () Ġas ĠT Ġ} ĊĠĠĠĠĠĠĠ Ġis ĠDouble Ġ-> Ġ{ Ġx : ĠString Ġ-> Ġx . toDouble () Ġas ĠT Ġ} ĊĠĠĠĠĠĠĠ Ġis ĠBoolean Ġ-> Ġ{ Ġx : ĠString Ġ-> Ġx . to Boolean () Ġas ĠT Ġ} ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ Ġx : ĠString Ġ-> Ġx Ġas ĠT Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġval Ġv : ĠString ? Ġ= Ġargs . find Ġ{ Ġit . startsWith ( name Ġ+ Ġ"=" ) Ġ} ?. split (" =") ?. get OrNull ( 1 ) ĊĠĠĠ Ġreturn Ġif Ġ( v Ġ== Ġnull ) Ġdefault Ġelse Ġfn ( v ) Ċ }