Language (メソッド・キーワード)
このメソッドの実装に使用する言語を指定します。
使用法
このメソッドの実装に使用する言語を指定するには、以下の構文を使用します。
Method name(formal_spec) As returnclass [ Language = language ]
{ //implementation }
language は以下のいずれかになります。
-
objectscript (既定) — ObjectScript
-
python — 組み込み Python
-
tsql — Transact-SQL
-
ispl — Informix ストアド・プロシージャ言語
詳細
このキーワードは、このメソッドの実装に使用する言語を指定します。
値 ispl および tsql は、クラス・メソッドでのみサポートされます。
ispl の値を指定すると、メソッドの本文が単一の CREATE PROCEDURE 文に制限されます。
既定値
このキーワードを省略すると、クラス・レベルの Language キーワードで指定された言語が使用されます。
Note:
クラス・レベルでは Language = ispl も Language = python も指定できません。これらの値はメソッドにのみ使用できます。
Note:
シャード・クラスのメソッドは、ObjectScript 以外の言語を使用して実装することはできません。
例
Class User.Person Extends %Persistent
{
Property Name As %String;
Property Gender As %String;
/// An ObjectScript instance method that writes the name and gender of a person
Method Write() [ Language = objectscript ]
{
write !, ..Name, " is a ", ..Gender, !
}
/// An Embedded Python instance method that prints the name and gender of a person
Method Print() [ Language = python ]
{
print('\n' + self.Name + ' is a ' + self.Gender)
}
/// A TSQL class method that inserts a row into the Person table
ClassMethod TSQLTest() [ Language = tsql ]
{
INSERT INTO Person (Name, Gender) VALUES ('Manon', 'Female')
}
/// An ISPL class method that creates a stored procedure named IsplSp
ClassMethod ISPLTest() [ Language = ispl ]
{
CREATE PROCEDURE IsplSp()
INSERT INTO Person (Name, Gender) VALUES ('Nikolai', 'Male')
END PROCEDURE
}
}