ID : 565
将排列指定至过程的自变量
可将排列指定为过程的自变量。
以下例1的“SJoin”过程要求有3个要素数的排列(ccc(2))。从Main过程调出的PrintDbg SJoin(aaa, "-")
中将用3个要素数定义的排列aaa作为自变量来传输数据。
例1
Sub Main
Dim aaa(2) As String
aaa(0) = "Tom"
aaa(1) = "Jessica"
aaa(2) = "George"
PrintDbg SJoin(aaa, "-")
End Sub
Function SJoin(ByVal ccc(2) As String, ByVal Separator As String) As String
Dim ddd As String
ddd = ""
SJoin = ccc(0) & Separator & ccc(1) & Separator & ccc(2)
End Function
未定要素的排列
可将未定要素的排列指定至过程的自变量。
Function AAA(ByVal aaa() As Integer) As String
上述示例的自变量“aaa()”为整数型排列,要素数和维度数未定。根据所传输的自变量要素数,记述相应的处理。
以下示例的“RateB”过程要求有未定要素数的“bbb()”排列变量。“Main”过程读取“RateB”过程时,传输“aaa(1000)”。
'!TITLE "显示排列中n倍数的数的比例"
Sub Main
Dim aaa(1000) As integer
Dim n As Integer
For n = LBound(aaa) To UBound(aaa)
aaa(n) = 7 * (n + 1)
Next
PrintDbg RateB(aaa, 3) * 100 & "%"
End Sub
Function RateB(ByVal bbb() as Integer, ByVal k As Integer) As Single
Dim n As Integer
Dim m As Integer
m = 0
For n = LBound(bbb) To UBound(bbb)
If bbb(n) Mod k = 0 Then
m = m + 1
End If
Next
RateB = m / (Ubound(bbb) - Lbound(bbb) + 1)
End Function
过程自变量的归纳
过程的自变量中必须代入同种类型的数据。必须代入同种类型的数据或者必须指定能够进行数据型的自动转换(转变)的数据。
排列不能进行自动转换,因此必须传输同种数据型。
|
调出源 | ||||
---|---|---|---|---|---|
排列 | 未排列 | ||||
要素确定 | 要素未定 | ||||
调出目标 | 排列 | 要素确定 | 仅要素数、维度数相同时OK | NG | NG |
要素未定 | OK | OK | NG | ||
未排列 | NG | NG | OK |
- RC8系列机器人控制器版本低于Ver. 1.3.7时,不可将Static属性二维以上的排列指定至过程的自变量。
- Dim定义中不能定义未定要素的排列。
ID : 565