LOTUSSCRIPT 言語
[Public | Private] Const constName = expression
それぞれの意味は次のとおりです。
' Define a String constant, MYNAME. Const MYNAME$ = "Andrea" ' Define a Single constant, MYPERCENT. Const MYPERCENT!= 0.125 ' Define a Currency constant, MYMONEY. Const MYMONEY@ = 123.45
代替方法として、定数が数値であり、expression が数値リテラルである場合、expression に適切なデータ型の接尾辞を付けることにより、特定の数値データ型を指定できます。以下に例を示します。
' Define a Currency constant, MYCUR, with the value 123.45. Const MYCUR = 123.45@
constName または式に接尾辞を付けない場合、expression の値によって定数のデータ型が決まります。
Const MYNAME = "Sara" ' MYNAME is a constant of type String. Const MYDOUBLE = 123.45 ' MYDOUBLE is a constant of type Double. Const MYINT = 123 ' MYINT is an constant of type Integer. Const MYLONG = 123456 ' MYLONG is a constant of type Long.
定数を定義する Const ステートメントで接尾辞を使用したかどうかに関係なく、LotusScript アプリケーションで定数を参照する際は、常にデータ型の接尾辞を付けられます。接尾辞を使用する必要はありませんが、使用したほうがコードが読みやすくなります。
以下に例を示します。
Const MYADDRESS$ = "722 Smith Place" Print MYADDRESS ' Output:722 Smith Place
Const YOURADDRESS = "75 rue St. Viateur" Print YOURADDRESS$ ' Output:75 rue St. Viateur ' Print MYADDRESS%, YOURADDRESS@ would cause an error.
定数のデータ型をチェックする
TypeName または DataType という LotusScript 関数のいずれかを呼び出すことにより、定数のデータ型を調べられます。TypeName は、調べようとしている式のデータ型を示す文字列を返します。DataType は、式のデータ型を表す数値を返します。
Const MYMONEY@ = 123.45 Const MOREMONEY = MYMONEY * 2 Print TypeName(MOREMONEY) ' Output:CURRENCY Print DataType(MOREMONEY) ' Output: 6
定数のスコープ
変数と同様に、プロシージャ内またはモジュールレベル (プロシージャ、ユーザー定義のデータ型、またはクラスの定義の外) で定数を定義できます。プロシージャ内で定義する定数は、プロシージャ自体がモジュール全体またはアプリケーション全体で有効であったとしても、そのプロシージャの中だけで有効です。定数がプロシージャの外部で定義された定数や変数と同じ名前である場合、プロシージャ内での参照は、狭い方のスコープを持つ定数に適用する名前として解釈され、広い方のスコープを持つ定数や変数は無視されます。
Const MYINT% = 10 ' This MYINT% is defined at module level. Sub MySub Const MYINT% = 100 ' This MYINT% is defined within a procedure. Print MYINT% End Sub Call MySub ' Output:100 Print MYINT% ' Output: 10
既定では、モジュールレベルで定義する定数は Private となり、そのモジュール内だけで有効です。この既定を無効にして定数をアプリケーション内の他のモジュールでも有効にするには、次のいずれかの方法を使用します。
Public Const GLOBALINT% = 123
Use "A"
関連項目