Что нового

Вызов функции с определённым количеством аргументов

Сообщения
60
Репутация
-2
Привет. Ув. скриптописцы, посоветуйте что-нибудь дельное.
Вот у меня есть AutoIT скрипт, в котором я вызываю функцию.

Код:
Call(aaa, "wwwwwww", "ggggggggggggg", "kkkkkkkkkkkkk")
Func aaa($rrr, $ttt, $yyy)
MsgBox(0, "Msg", $rrr)
MsgBox(0, "Msg", $ttt)
MsgBox(0, "Msg", $yyy)
EndFunc


Он работает, но только в том случае, если количество аргументов, точно равно количеству принимаемых параметров вызываемой функции.
Если их два или четыре, то функция уже не запускается. Ну так вот, что бы вы посоветовали? Какую можно сделать хитрость?
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Parazit [?]
что бы вы посоветовали?
Почитать справку.
Код:
Func Test_Numparams($v1 = 0, $v2 = 0, $v3 = 0, $v4 = 0, $v5 = 0, $v6 = 0, $v7 = 0, $v8 = 0, $v9 = 0, _
         $v10 = 0, $v11 = 0, $v12 = 0, $v13 = 0, $v14 = 0, $v15 = 0, $v16 = 0, $v17 = 0, $v18 = 0, $v19 = 0)
     #forceref $v1, $v2, $v3, $v4, $v5, $v6, $v7, $v8, $v9, $v10, $v11, $v12, $v13, $v14, $v15, $v16, $v17, $v18, $v19
     Local $val
     For $i = 1 To @NumParams
         $val &= Eval("v" & $i) & " "
     Next
     MsgBox(0, "Пример с @NumParams", "@NumParams =" & @NumParams & @CRLF & @CRLF & $val)
EndFunc
 
Верх