開発者の皆さん、こんにちは!
この記事では、InterSystems IRIS サーバサイドで実行できるPython(Embedded Python)のデバッグ方法をご紹介します。
前提:VSCode の Python デバッガ用モジュールの debugpy を利用するため、Python スクリプトファイルに記載した Embedded Python のコードが対象です。クラス定義に[Language = python]を指定して記載しているコードは対象外となります。ご注意ください!
開発者の皆さん、こんにちは!
この記事では、InterSystems IRIS サーバサイドで実行できるPython(Embedded Python)のデバッグ方法をご紹介します。
前提:VSCode の Python デバッガ用モジュールの debugpy を利用するため、Python スクリプトファイルに記載した Embedded Python のコードが対象です。クラス定義に[Language = python]を指定して記載しているコードは対象外となります。ご注意ください!

このセクションでは、IRISでPythonを主要言語として使用する方法について紹介します。これにより、IRISの強力な機能を活用しながら、Pythonでアプリケーションのロジックを書くことができます。

この記事では、マジックメソッドとしても知られるPythonダンダーメソッドについて簡単に解説します。
ダンダーメソッドは、始めと終わりに2つのアンダースコア(__)が付いているPythonの特殊メソッドです。 このメソッドを使用することで、加算や減算、文字列表現など、組み込みの操作に対するオブジェクトの動作を定義することができます。
よくあるダンダーメソッドには、次が含まれます。
__init__(self, ...):オブジェクトの作成時に呼び出されます。
%OnNew メソッドに似ています__str__(self):オブジェクトを文字列として表現するために、str() 組み込み関数と print によって呼び出されます。__repr__(self):デバッグ用のオブジェクトを表現するために、repr() 組み込み関数によって呼び出されます。__add__(self, other):+ 演算子が使用される際に呼び出されます。__len__(self):オブジェクトの長さを返すために、len() 組み込み関数によって呼び出されます。__getitem__(self, key)次のようなプログラムです。
<a href=# onclick='Js_StageCNG(3)'>ステージ3に進む</a>
・・・
Set Stage=%session.Get("STAGE")
if Stage="" set Stage=1
・・・
if Stage=3 {
動かなかったので、すべてコメントに変えたがやはり動かなかった
}
<script language=javascript>
function Js_StageCNG(key) {
ans=#server(..StageCNG(key))#
window.location.href="...csp"
}
</script>
<script language=cache method="StageCNG" arguments="key:%Library.String" returntype="%Boolean">
do %session.Set("STAGE",key)
quit 1
</script>
この現象は、最近、突然に起こるようになりました。