package Ġcom . sim on . kotlin . example Ċ Ċ fun Ġmain () Ġ{ ĊĠĠĠ Ġval Ġarray Val Ġ= Ġint ArrayOf ( 1 , Ġ 2 , Ġ 3 ) ĊĠĠĠ Ġ// Val Ġcannot Ġbe Ġre assigned ĊĠĠĠ Ġ// array Val Ġ= Ġint ArrayOf ( 2 , 3 , 4 ) ĊĠĠĠ Ġprintln ( array Val ) ĊĠĠĠ Ġprintln ( array Val [ 0 ]) ĊĠĠĠ Ġarray Val [ 0 ] Ġ= Ġ 5 ĊĠĠĠ Ġprintln ( array Val ) ĊĠĠĠ Ġprintln ( array Val [ 0 ]) ĊĊĠĠĠ Ġcount ( 1 ) ĊĠĠĠ Ġcount ( 1 ) ĊĠĠĠ Ġprintln ( call Var ( array Val . asList ())) ĊĠĠĠ Ġprintln ( call Val ( array Val . asList ())) ĊĠĠĠ Ġprintln ( call ( array Val . asList ())) Ċ } Ċ Ċ var Ġa Ġ= Ġ 1 Ċ fun Ġcount ( i : ĠInt ) Ġ{ ĊĠĠĠ Ġa Ġ+= Ġ 1 ĊĠĠĠ Ġprintln ( i Ġ+ Ġa ) Ċ } Ċ Ċ fun Ġcall Var ( list : ĠList < Int >): ĠInt Ġ{ Ġ Ġ// 5 , 2 , 3 ĠĠĠĠĠĠ 5 , 1 0 , 1 2 , 3 6 , 3 9 ĊĠĠĠ Ġvar Ġres Ġ= Ġ 0 ; ĊĠĠĠ Ġfor Ġ( a Ġin Ġlist ) Ġ{ ĊĠĠĠĠĠĠĠ Ġres Ġ*= Ġa ĊĠĠĠĠĠĠĠ Ġres Ġ+= Ġa ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġres Ċ } Ċ Ċ fun Ġcall Val ( list : ĠList < Int >): ĠInt Ġ{ ĊĠĠĠ Ġfun Ġrecurse ( list : ĠList < Int >, Ġres : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( list . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġa Ġ= Ġlist . first (); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrecurse ( list . drop ( 1 ), Ġres Ġ* Ġa Ġ+ Ġa ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġres ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġrecurse ( list , Ġ 0 ) Ċ } Ċ Ċ fun Ġcall ( list : ĠList < Int >): ĠInt Ġ{ ĊĠĠĠ Ġreturn Ġlist . fold ( 0 ) Ġ{ Ġres , Ġel Ġ-> ĊĠĠĠĠĠĠĠ Ġres Ġ* Ġel Ġ+ Ġel ĊĠĠĠ Ġ} Ċ }