fun Ġadd ( value 1 : ĠInt , Ġvalue 2 : ĠInt ): ĠInt Ġ= Ġvalue 1 Ġ+ Ġvalue 2 Ċ Ċ fun Ġsquare ( n : ĠInt ): ĠInt Ġ= Ġn Ġ* Ġn Ċ Ċ fun Ġmath ( lst : List < Int >, Ġvalue : Int , Ġf :( Int , ĠInt ) Ġ-> ĠInt ) Ġ: ĠList < Int >{ ĊĠĠĠ Ġ// Ġ æĸ° è¦ı ãĥªãĤ¹ãĥĪ çĶŁæĪĲ ĊĠĠĠ Ġval Ġnew List Ġ= Ġjava . util . ArrayList < Int >() ĊĊĠĠĠ Ġfor ( e Ġin Ġlst ){ ĊĠĠĠĠĠĠĠ Ġ// Ġ è¦ģ ç´ł ãĤĴ 1 ãģ¤ ãģļ ãģ¤ æĬ½ åĩº ãģĹ ãĢģ f éĸ¢æķ° ãģ« æ¸ ¡ ãģĻ ãĢĤ æĪ » ãĤĬ åĢ¤ ãĤĴ æĸ° è¦ı ãĥªãĤ¹ãĥĪ ãģ« è¿½åĬł ĊĠĠĠĠĠĠĠ Ġnew List . add ( f ( e , Ġvalue )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġnew List Ċ } Ċ Ċ fun Ġmain ( args : ĠArray < String >) Ġ{ ĊĠĠĠ Ġval Ġsrc Ġ= ĠlistOf ( 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 ) ĊĊĠĠĠ Ġ// Ġoriginal ĊĠĠĠ Ġprintln Ġ( src ) ĊĠĊĠĠĠ Ġ// Ġcase Ġ 1 ĊĠĠĠ Ġval Ġlist 1 Ġ= Ġmath ( src , Ġ 1 , Ġ:: add ) ĊĠĠĠ Ġprintln Ġ( list 1 ) ĊĠĊĠĠĠ Ġ// Ġcase Ġ 2 ĊĠĠĠ Ġval Ġlist 2 Ġ= Ġmath ( src , Ġ 2 , Ġfun ( value 1 : ĠInt , Ġvalue 2 : ĠInt ): ĠInt Ġ{ Ġreturn Ġvalue 1 Ġ+ Ġvalue 2 Ġ}) ĊĠĠĠ Ġprintln Ġ( list 2 ) ĊĠĊĠĠĠ Ġ// Ġcase Ġ 3 ĊĠĠĠ Ġval Ġlist 3 Ġ= Ġmath ( src , Ġ 3 , Ġ{ value 1 : ĠInt , Ġvalue 2 : ĠInt Ġ-> Ġvalue 1 Ġ+ Ġvalue 2 }) ĊĠĠĠ Ġprintln Ġ( list 3 ) Ċ } Ċ