[NaruTo の計算機譜表工房] [NaruTo の 御家] [人間に成りたぁい]

ソースと出力が同じプログラム at C#

1.説明

次のプログラムをC#ソースファイルとして保存してください。

FixedPoint.cs
using System;

namespace FixedPoint
{
    class Program
    {
        static void Main(string[] args)
        {
            string strX = @"using System;

namespace FixedPoint
{
    class Program
    {
        static void Main(string[] args)
        {
            string strX = @""[X]"";
            Console.Write(strX.Replace(""["" + ""X"" + ""]"", strX.Replace(@"""""""",@"""""""""""")));
        }
    }
}
";
            Console.Write(strX.Replace("[" + "X" + "]", strX.Replace(@"""",@"""""")));
        }
    }
}

この FixedPoint.cs をコンパイルします。
c:\work\FP> csc FixedPoint.cs

そして実行し、ファイル出力を書き込みます。
c:\work\FP> FixedPoint > FP2.cs

これをさらにコンパイルし、実行します。
c:\work\FP> csc FP2.cs
c:\work\FP> FP2 > FP3.cs

しばらく繰り返します。
c:\work\FP> csc FP1630.cs
c:\work\FP> FP1630 > FP1631.cs

ここで FP1631.cs と FixedPoint.cs を比較すると一致します。

2.説明

平成22年の4月1日ネタ
 まぁ、できたものがすべてです。
一応ラムダ計算の再帰の話を参考にして作っていますが。
 本当は  
「マイク○ソフトの関数型言語○#」(後の丸には「C」が入る)
 ってネタをやりたかったんですが、時間がなかったので。。。。

先頭
NaruTo の 計算機譜表工房
NaruTo の御家
人間に成りたぁい