fun Ġmain () Ġ{ ĊĠĠĠ Ġg reet _ in _ Tur k ish (" Sel im ", Ġ 4 ) ĊĠĠĠ Ġ// Ġpractice _ spe aking (" G Ã¼n ay d Ä±n ") ĠĠĠ Ġ// ĠType Ġmismatch : Ġinferred Ġtype Ġis ĠString Ġbut ĠInt Ġwas Ġexpected ĊĠĠĠ Ġpractice _ spe aking ( word =" G Ã¼n ay d Ä±n ") Ġ Ġ// ĠSolution : Ġspecify Ġthe Ġparameter Ġname . ĊĊĠĠĠ Ġprintln ( get Sum ( 1 , Ġ 4 , Ġ 6 , Ġ 2 )) ĊĠĠĠ Ġprintln ( get Sum ( 1 , Ġ 4 , Ġ 6 )) ĊĠĠĠ Ġprintln ( get Sum ( 1 , Ġ 4 , Ġd Ġ= Ġ 6 )) Ċ } Ċ Ċ fun Ġg reet ( name : ĠString , Ġre ps : ĠInt Ġ= Ġ 2 ) Ġ{ ĊĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. reps ) Ġprintln (" Hello , Ġ$ name ") Ċ } Ċ Ċ // ĠOver load Ġby Ġcalling Ġthe Ġroot Ġfunction . Ċ // ĠThis Ġapproach Ġis Ġmore Ġmaintain able Ġas Ġthe Ġproject Ġgets Ġbigger . Ċ fun Ġg reet ( name : ĠString ) Ġ{ ĊĠĠĠ Ġg reet ( name ) Ċ } Ċ Ċ // ĠTo Ġset Ġdefault Ġparameter , Ġwe Ġalways Ġhave Ġto Ġspecify Ġthe Ġtype . Ċ // ĠThis Ġwon 't Ġwork , Ġfor Ġexample : Ċ // Ġfun Ġg reet _ in _ Tur k ish Ġ( name : ĠString , Ġnum Ġ= Ġ 2 ) Ġ{ Ċ fun Ġg reet _ in _ Tur k ish Ġ( name : ĠString , Ġnum : ĠInt Ġ= Ġ 2 ) Ġ{ ĊĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. num ) Ġprintln (" Sel am Ġ$ name , Ġi yi Ġg Ã¼n ler !") Ċ } Ċ Ċ // ĠDefault Ġparameters Ġalways Ġcome Ġafter Ġnon - default Ġparameters . ĠSame Ġas Ġin ĠPython . Ċ fun Ġpractice _ spe aking Ġ( num : ĠInt Ġ= Ġ 2 , Ġword : ĠString ) Ġ{ ĊĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. num ) Ġprintln ( word ) Ċ } Ċ Ċ // ĠHome work Ċ fun Ġget Sum ( a : ĠInt Ġ= Ġ 1 , Ġb : Int Ġ= Ġ 2 , Ġc : Int Ġ= Ġ 3 , Ġd : Int Ġ= Ġ 4 ): ĠInt Ġ{ ĊĠĠĠ Ġreturn Ġa Ġ+ Ġb Ġ+ Ġc Ġ+ Ġd Ċ } Ċ