// Ġ! LANGUAGE : Ġ+ Inline Classes Ċ Ċ inline Ġclass ĠUInt ( private Ġval Ġvalue : ĠInt ) Ġ{ ĊĠĠĠ Ġfun Ġas Int () Ġ= Ġvalue Ċ } Ċ Ċ inline Ġclass ĠUInt Array ( private Ġval ĠintArray : ĠInt Array ) Ġ{ ĊĠĠĠ Ġoperator Ġfun Ġget ( index : ĠInt ): ĠUInt Ġ= ĠUInt ( int Array [ index ]) ĊĊĠĠĠ Ġoperator Ġfun Ġset ( index : ĠInt , Ġvalue : ĠUInt ) Ġ{ ĊĠĠĠĠĠĠĠ ĠintArray [ index ] Ġ= Ġvalue . as Int () ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠUInt Array . swap ( i : ĠInt , Ġj : ĠInt ) Ġ{ ĊĠĠĠ Ġthis [ j ] Ġ= Ġthis [ i ]. also Ġ{ Ġthis [ i ] Ġ= Ġthis [ j ] Ġ} Ċ } Ċ Ċ fun Ġu IntArray Of ( var arg Ġelements : ĠInt ) Ġ= ĠUInt Array ( int ArrayOf (* elements )) Ċ Ċ fun Ġbox (): ĠString Ġ{ ĊĠĠĠ Ġval Ġa Ġ= Ġu IntArray Of ( 1 , Ġ 2 , Ġ 3 , Ġ 4 ) ĊĠĠĠ Ġa . swap ( 0 , Ġ 3 ) ĊĠĠĠ Ġa . swap ( 1 , Ġ 2 ) ĊĊĠĠĠ Ġif Ġ( a [ 0 ]. as Int () Ġ!= Ġ 4 ) Ġreturn Ġ" fail " ĊĠĠĠ Ġif Ġ( a [ 1 ]. as Int () Ġ!= Ġ 3 ) Ġreturn Ġ" fail " ĊĠĠĠ Ġif Ġ( a [ 2 ]. as Int () Ġ!= Ġ 2 ) Ġreturn Ġ" fail " ĊĠĠĠ Ġif Ġ( a [ 3 ]. as Int () Ġ!= Ġ 1 ) Ġreturn Ġ" fail " ĊĊĠĠĠ Ġreturn Ġ" OK " Ċ }