Lotus Script 言語
- 値のありかを受け取る ByRef(参照渡し)が規定ですが、わざわざ ByRef と明記するとエラーになります
- ByVal と記載するとコピーされた値を受け取ることができます(値渡し)
VbScript 言語
- 値のありかを受け取る(参照渡し)が規定です。わざわざ ByRef と明記することができます
- ByVal と記載するとコピーされた値を受け取ることができます(値渡し)
Lotus Scriptのクラスは、VBScriptと異なっているところが多いです。
Class クラス名 As 元クラス ’別のクラスから引き継ぐことができます
’最初に実行されます
Sub New (変数名 As 型).元クラス (変数名 As 型) ’値を受け取ることができます
End Sub
’最後に実行されます
Sub Delete ()
End Sub
Public Sub 戻り値がない関数名 (変数名 As 型)
End Sub
Public Function 戻り値がある関数名 (変数名 As 型) As 型
Me.戻り値がある関数名 = 戻り値 ’値を返します
End Function
Public Property Set プロパティ名 As 型
変数名 = Me.プロパティ名 ’値を受け取ります
End Property
Public Property Get プロパティ名 As 型
Me.プロパティ名 = 戻り値 ’値を返します
End Property
End Class
何も指定しないと Private、ByRef になります。
現在のクラスのなかで現在のクラスで定義された関数・プロパティ・変数を使うには、名前の先頭に Me. をつければOKです
Class クラス名 ’独立したクラスとして作成します
’最初に実行されます
Sub Class_Initialize () ’値を受け取れません
End Sub
’最後に実行されます
Sub Class_Terminate ()
End Sub
Sub 戻り値がない関数名 (変数名)
End Sub
Function 戻り値がある関数名 (変数名)
戻り値がある関数名 = 戻り値 ’値を返します
End Function
Public Property Set プロパティ名 ’Set はオブジェクトを受け取ります
Set 変数名 = プロパティ名 ’値を受け取ります
End Property
Public Property Let プロパティ名 ’Let はオブジェクト以外を受け取ります
変数名 = プロパティ名 ’値を受け取ります
End Property
Public Property Get プロパティ名
プロパティ名 = 戻り値 ’値を返します
End Property
End Class
なにも指定しないと Public、ByRef になります。
現在のクラスで定義されたプロパティをつかうときに、名前の先頭に Me. をつけるときがあります
() は省略できることが多いです
Call を省略するときは () も省略します
Call だけ省略し () を付けると、意味が変わります
次のとおり色々な書き方ができます
受け渡し値がないとき
受け渡し値があるとき(関数側の ByVal/ByRef 設定どおり)
これはエラーになります
受け渡し値があるとき(常に ByVal を強制)
Call を付けるときは () も付けます
Call を省略するときは () も省略します
Call だけ省略し () を付けると、意味が変わります
次のとおり色々な書き方ができます
受け渡し値がないとき
受け渡し値があるとき(関数側の ByVal/ByRef 設定どおり)
受け渡し値があるとき(常に ByVal を強制)
クラスの値を受け渡すと動作が変わります(アクセス権がどうの)
クラス名.パラメータ = 値
関数名 (クラス名.パラメータ) ’ クラス名.パラメータの値は変化しません