戻る

ヒスイで IronPython を動かそう

IronPython とは .NET Framework 上で動作する Python スクリプトです。 ヒスイには IronPython との連携が用意されており、例えば Python でコマンドを作成することが出来ます。

IronPython について

IronPython とは .NET Framework 上で動作する Python の処理系です。 IronPython に関する情報は下記の CodePlex のページ(Microsoftが運用するコミュニティサイト)から入手できます。

http://www.codeplex.com/Wiki/View.aspx?ProjectName=IronPython

Pythonコンソールを使う

はじめに

ここで説明する Python コンソールの機能はまだ不安定です。 特に、IntelliSenseライクな補完機能にはまだ多くの不具合が残っており、実用段階には至っていません。 実験的な機能であることを了承の上、お試しください。

起動

[ツール|pythonコンソール] メニューからコンソールウィンドウを起動することが出来ます。


Pythonコンソールの起動メニュー


起動した python コンソール "Naga(ナーガ)"

すると Naga(ナーガ)という Python のコンソールウィンドウが開きます。 ナーガとはインド神話に登場する蛇の神様です。Python(ニシキヘビ)の連想で命名しました。

画面は大きく4つのエリアに分かれています。

位置名前説明
上段左標準出力欄コマンド実行結果の標準出力に使われます
上段右変数テーブル現在定義されている変数一覧を表示します
中段コマンド入力欄ここにコマンドを入力します
下段入力履歴欄コマンドの入力履歴がここに蓄積されます

Hello World

では、まずは定番の Hello World から始めましょう。中段のコマンド入力欄に

print "Hello World"

と入力してENTERキーを押してください。すると次の結果が得られます。

上段左の標準出力欄には、Hello World という文字列が表示できていることが分かります。 また、下段の入力履歴欄には、今入力した print "Hello World" という文字列がそのまま履歴として蓄積されていることが分かります。

一括実行

入力履歴欄は、実は履歴を溜めるだけではなく、ここを直接編集して一括実行することが出来ます。 例えば入力履歴欄に次のpythonプログラムを打ち込んでみてください。

list = ["Hello", "Iron", "Python"]
for s in list:
  print s

そしてツールバーのボタンを押すと、次の結果が得られます。

ここで書いたスクリプトは保存することも出来ますし、別のファイルから読み込んでくることも出来ます。

ヒスイを触る

例えばコマンド入力欄に次のように入力してください。

print Current.Document.Entries.Count

これは「ドキュメントのトップレベルに登録されているエントリの数を標準出力にプリントせよ」というプログラムです。 Current というのは Hisui.Ctrl.Current クラスです。 このようにして Python スクリプトからヒスイ内部のオブジェクト(クラス)を操作することが出来ます。

ドキュメントが空の場合には当然上記のプログラムは 0 と出力します。 STLなどのファイルを読み込んでから実行すれば 1 と出力するはずです。

Pythonでコマンドを作成する

ヒスイには図のような [Scripts|テスト] メニューが組み込まれています。

これは Python によるコマンドのテストスクリプトで、起動すると次のメッセージボックスが表示されます。

このスクリプトは bin/python/Scripts/TestScript.py に書かれています。

そのソースコードは下記の通りです。

import clr
clr.AddReference( "System.Windows.Forms" )
from System.Windows.Forms import *

MessageBox.Show( "This is a test script of IronPython.", "Scripts/TestScript.py")

Pythonスクリプトを配置するフォルダは、config.xmlで指定されています。

<?xml version="1.0" encoding="Shift_JIS"?>
<config>
  ...
  <command>
    <python dir="python"/>
    <caption name="Scripts.TestScript">テスト</caption>
  </command>
</config>

このように指定した位置に *.py ファイルを配置すれば、それがメニューとして自動的に登録されます。


戻る

Copyright © 2007, 株式会社カタッチ
http://www.quatouch.com