コンテナループ
配列(Array-of)の要素を走査する場合には、
let arr:{Array-of int} = {{Array-of int} 1, 1, 2, 3, 5, 8, 13} let sum:int = 0 {for i:int = 0 below arr.size do set sum = sum + arr[i] }
というように書いてしまうかもしれませんが、curlではコンテナループという記法を使って
{for i:int = 0 below arr.size do set sum = sum + arr[i] }
というfor文を、
{for n in arr do set sum = sum + n }
と書くことができます。こちらの方が記述がシンプルなだけでなく、要素を繰り返し処理する意図が明確になります。この記法は、Array-ofに限らず、その他のコレクション型(HashTable-ofやSet-of)や文字列(String)、残余引数(...)に対しても使えます。知らなかった方はぜひ覚えておきましょう。