ちょちょいと書いてみた
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
var rows = File.ReadAllLines(args[0]);
var countmax = (Array.ConvertAll(rows, row => row.Length)).Max();
for (var r = 0; r < countmax ; r++)
{
for (var c = rows.Length; c > 0 ; c--)
{
try { Console.Write(rows[c][r]); }
catch (IndexOutOfRangeException) { Console.Write(' '); }
}
Console.Write("\r\n");
}
}
}
}
なんかいろいろ違うと指摘されて、ダイエットも施したバージョン
using System.Linq;
class Program
{
static int Main(string[] args)
{
if (args.Length == 0) return 1;
if ( System.IO.File.Exists(args[0]) == false) return 2;
var rows = System.IO.File.ReadAllLines(args[0]);
var countmax = (System.Array.ConvertAll(rows, row => row.Length)).Max();
for (var r = 0; r < countmax ; r++)
{
for (var c = rows.Length - 1; c >= 0; c--)
System.Console.Write((rows.Length > c ? rows[c] : null) == null ? ' ' : (rows[c].Length > r ? rows[c][r] : ' '));
System.Console.Write("\r\n");
}
return 0;
}
}
わーい、出来ちゃった。(古いし) 18行
来たれ英雄。
なんか仕様
- {は1行にしろ
- }も1行にしろ
- 引数なしは1戻せ
- ファイルなしは2戻せ
- 成功は0戻せ
- もちろん縦書きにしろ
こんな感じらしい。