for-in-doにもっと頑張ってもらう。
var s: string; for s in ['a', 'b'] do ...
ふと何気なくこのようなコードを書いたら構文チェックが通ったので、「あれ?これ何気に便利じゃね?」と思ったら致命的エラーとやらでコンパイルは通らず。がっかり。
でももしやと思い次のようなコードを試してみるとコンパイル成功。
var i: Integer; for i in [2..16] do ...
どうやらブラケット([と])は配列コンストラクタではなく、
if value in [hoge, huga] then ...
このような集合型の定義として機能してるみたい。なので必然的に扱える数は255以下に制限されるけど、逆に言えば次のようなコードが書けるということに。
for i in [2,8,9] do Writeln(i); > 2 > 8 > 9
さらにfor-in-doが列挙できるのは集合型以外に動的配列があることを思い出せば、以前紹介した「動的配列をCreateする」を使用して一番最初のコードも実現可能に。
for s in TArray<string>.Create('foo', 'bar') do Writeln(s); > foo > bar
ちょっとしたコードを書くときに使えそう。というかもう使ってた。