それが、foreach を for の文に変えると動くし、文法解析のとこに foreach の構文が入ってるんです。NEWS にも「foreach サポートしたよん」って書いてあるので、たぶん使えると思うんですけどねえ。いいや全部書いちゃえ。C# で書いた cat コマンド (オプションなし)。
using System;
using System.IO;
using System.Text;
public class Cat
{
public static void Main(string[] args)
{
if (args.Length == 0) {
cat(Console.In);
}
else {
// foreach (string a in args) { // こっちを使うとパースエラー
for (int i; i < args.Length; i++) {
string a = args[i];
TextReader f = File.OpenText(a);
cat(f);
f.Close();
}
}
}
private static void cat(TextReader f)
{
// foreach (string s in f) { // こっちを使うとパースエラー
string s;
while ((s = f.ReadLine()) != null) {
Console.WriteLine(s);
}
}
}
ぐは、も一回やったらパースエラーどころか SEGV した……。さすがα版だ。
そんなわけでやっぱ明らかにバグっぽいです。
ついでに、tDiary では空行を入れるのが大変だということも判明。やっぱりなにかプリプロセスをかませたい。でもそろそろ原稿に戻ろっと。