syghの新フラグメント置き場

プログラミングTipsやコード断片の保管場所です。お絵描きもときどき載せます。

IronPython備忘録

(これは2012-04-21に書いた故OCNブログの記事を移植したものです)

しばらく使わないと忘れるので、備忘録ついでにC#との比較を少し載せておきます。

Visual C#プロジェクトの参照設定に相当するコード:
import clr
clr.AddReferenceByPartialName("System.Drawing")

IronPython動的言語なので、参照設定を実行時に行ないます。

C#のusingディレクティブに相当するコード:

例えば

using System.Drawing;

に相当するコードは、

from System.Drawing import *

となります。

ちなみにC++C++/CLIのusing宣言、例えば

using System::Drawing::Color;

に相当するコードは、

from System.Drawing import Color

となります。なお、C#にはこのusing宣言相当の機能はなかったように記憶しています。

C#エイリアス機能に相当するコード:

例えば

using SysDraw = System.Drawing;

に相当するコードは、

import System.Drawing as SysDraw

となります。


ちゃんと使わないと忘れるなあ……

2012年4月最新版のIronPython 2.xインストーラーにはTools for Visual Studio 2010が含まれなくなっているので、少し古いバージョン2.7を使ってるんですが、IronPython Interactiveにバグがあるっぽい。対話エディタのClearが効かなくなることがときどきあります。

以前Windows上でのスクリプティングにF#を使うといいかも、と書いたことがありますが、関数型言語はやっぱり理解が難しいです。OS標準機能として使えるはずのPowerShellも、統合環境とかのサポートが貧弱だし、デフォルトで気軽にファイル実行できないのがやっぱり面倒です(管理者権限でポリシーを変更する必要がある)。なので、やっぱり自分にとってはIronPythonが最強の.NETスクリプト言語なんじゃないかと思うわけです。個人的にC#C++/CLIの次に好きな.NET言語かと。