それが、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 では空行を入れるのが大変だということも判明。やっぱりなにかプリプロセスをかませたい。でもそろそろ原稿に戻ろっと。