LOTUSSCRIPT 言語
基本的なデータ型
基本的なデータ型は、LotusScript と Java の間で自動的にマッピングされます。
long 型
どちらのデータ型を使用するかは、Java コードが型として求めるものにより異なります
メモ Java byte 型には符号が付きますが (-128 から +127 の範囲)、LotusScript の Byte 型には符号が付きません (ゼロから 255 の範囲)。
Java byte 型の -128 から -1 の値は、LotusScript の Byte 型の +128 から +255 の値にマッピングされます。Java byte 型のゼロから +127 までの値は、LotusScript のゼロから +127 までの同じ値にマッピングされます。
Java の精度と long データ型の概要
Java long データ型の範囲は次のとおりです。
min -2^63 == -9,223,372,036,854,775,808 == 約 -9.22337203685478E+18
max +2^63 - 1 == +9,223,372,036,854,775,807 == 約 +9.22337203685478E+18
ただし、floating-point 型の精度が低いので、LS2J ではおおよそ次のような小さな範囲だけをサポートしています。
+- 9,223,372,036,854,770,000 == +- 9.22337203685477E+18
この範囲はプラットフォームによって若干異なります。この制限範囲外の LotusScript の値が Java long データ型に渡されると、LS2J は「式が範囲外です。」というエラーをスローします。
サポートの範囲内であっても、15 桁の精度しか使用できません。つまり、Java long データ型は、次の範囲内で予測可能な LotusScript の整数値にマッピングされます。
+- 1,000,000,000,000,000 ==+- 1.0E+15
String 型のマッピングの例
LSStrings.java:
{
public char F1;
public char [] F2;
public String F3;
public char M1(char p) { return p; }
public char [] M2(char [] p) { return p; }
public String M3(String p) { return p; }
}
LSStrings.lss:
Uselsx "*javacon"
Dim mySession As JavaSession
Sub Initialize
Dim myClass As JavaClass, myObject As JavaObject, s1 As String, _
s2 As String, s3 As String
s1 = "A"
s2 = "BC"
s3 = "DE"
Set mySession = New JavaSession ("\LSI\test\java;")
Set myClass = mySession.GetClass("LSStrings;")
Set myObject = myClass.CreateObject
myObject.F1 = s1
myObject.F2 = s2
myObject.F3 = s3
MsgBox myObject.F1 & myObject.F2 & myObject.F3 & _ myObject.M1(s1) & myObject.M2(s2) & myObject.M3(s3)
' Displays "ABCDEABCDE"
End Sub
Java 参照型は、次のようにサポートが制限されています。
print myObject.toString().toCharArray()
LS2J は Java/lang/String クラスを動的に適合させて、toCharArray メソッドにバインドします。toCharArray メソッドは char[] 型を返し、これを自動的に LotusScript の string 型に変換します。
すべてのプリミティブな型と Java オブジェクトは、引数として直接 JavaMethods に渡すことができます。参照型については、LotusScript はまだ参照による呼び出しのセマンティクスをサポートしていません。単一次元配列を Java メソッドに渡すことはできますが、その結果は LotusScript の領域にコピーされません。LotusScript は Java オブジェクトの配列で渡すこともサポートしていません。
制限
重要な制限事項があります。