Skip to main content

This documentation is for an older version of this product. See the latest version of this content.Opens in a new tab

クラスのコンパイル

初めてクラスをコンパイルしました。VS Code の出力ペインに以下が表示されます。


Compilation started on 01/30/2018 09:51:50 with qualifiers 'cku'
Compiling class ObjectScript.DataEntry1
Compiling routine ObjectScript.DataEntry1.1
Compilation finished successfully in 0.011s.

ルーチンについては、このチュートリアルの最初で簡単に触れ、その後はクラス・メソッドの作成を重点的に説明してきました。ObjectScript.DataEntry1 をコンパイルしたことで ObjectScript.DataEntry1.1 ルーチンもコンパイルされたことに注意してください。なぜでしょうか?ルーチンは、クラスとそのメソッドの下位レベルの実装であるためです。これにより、ルーチンを使用して記述された古いアプリケーションは、クラスを使用して記述されたコードと共存できます。ご覧のように、ルーチン名はクラス名に基づいています。Quit コマンドの学習時に確認したターミナルの例で何か気付いたことがあれば、これによって理解できます。

ターミナル


USER>do ##class(ObjectScript.Examples).BadMethod()

    write c }
    ^
<UNDEFINED>zBadMethod+3^ObjectScript.Examples.1 *c
USER 2do>quit

USER>

このエラー・メッセージは、ObjectScript.Examples.1 ルーチンの zBadMethod プロシージャの 3 行目で <UNDEFINED> が発生したことを示しています。プロシージャ名はクラス・メソッド名に基づく名前になっていて、先頭に "z" が付きます。つまり、エラーを調査して修正するには、ObjectScript.ExamplesBadMethod() メソッドを確認します。

FeedbackOpens in a new tab