C#のコードを参考にしてみよう
.NET Frameworkを使って一番書かれているプログラム言語はC#です。なので、Iron Pythonで.NET Franeworを使う時はC#のコードを参考にすると、楽に書けます。古典です。Hello World!
C#を使って、DOSプロンプトに"Hello World!"と表示させるには次のようになります。// Hello.cs
public class Hello
{
public static void Main()
{
System.Console.WriteLine("Hello, World!");
}
}
私もあんまりC#は使わないのですが、なんとなくSystem.ConsoleモジュールにあるWriteLine関数を使えばいいんだなってわかりますね。
Iron Pythonで使うと次のようになります。
#coding: shift-jis
import System.Console
System.Console.WriteLine("Hello, World!")
raw_input()
出力画面:
Hello, World!
最後の行はほとんどコピペです。(笑)Windowを使ったHello World!
さっきのが簡単過ぎたのでもうちょっと難しいのを・・・。C#のコードです。//Hello2.cs
using System;
using System.Drawing;
using System.Windows.Forms;
class MyForm : Form
{
Label Label1;
public MyForm()
{
Label1 = new Label();
Label1.Text = "Hello World!";
Label1.Location = new Point(30,30);
this.Text = "Hello World";
this.StartPosition = FormStartPosition.CenterScreen;
this.Controls.Add(Label1);
}
public static void Main()
{
Application.Run(new MyForm());
}
}
これをIron Pythonを使って書くと次のようになります。
#coding: shift-jis
import clr
clr.AddReference('System.Drawing')
clr.AddReference('System.Windows.Forms')
from System import *
from System.Drawing import *
from System.Windows.Forms import *
class MyForm(Form):
def __init__(self):
self.Label1 = Label()
self.Label1.Text = "Hello World!"
self.Label1.Location = Point(30,30)
self.Text = "Hello World"
self.StartPosition = FormStartPosition.CenterScreen
self.Controls.Add(self.Label1)
if __name__ == "__main__":
Application.Run(MyForm())
C#を知っている人にはわかると思います。C#を勉強したことがない人はごめんなさい。でもC#で書いたものとIron Pythonで書いたものがすごく似ていると感じてもらえると思います。次のようなWindowが表示されれば成功です。
WindowをCloseするとプログラム終了です。
これからは今回のようにC#と比較しながらという説明はしませんが、C#の書籍で.NET Frameworkの勉強をすれば、すぐIron Pythonでも応用できることがわかってもらえると思います。