Что нового

[Данные, строки] Как создать объект и передать его в функцию?

Ciber SLasH

Новичок
Сообщения
12
Репутация
0
Приветствую всех!
Не могу найти, как создать объект со свойствами для передачи его в функцию?
В JavaScript я бы сделал так:
Код:
myFunc({msg: "test", caption: "caption"});
function myFunc(obj) {
    alert("msg="+obj.msg+"\ncaption="+obj.caption);
}
А как такое сделать в AutoIt?
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
964
Ciber SLasH [?]
В JavaScript я бы сделал так
Autoit не JavaScript, тут нет ООП. :smile:
Можно использовать UDF AutoItObject, а можно COM объект:
Код:
$oDic = ObjCreate("Scripting.Dictionary")

$oDic.Add("msg", "test")
$oDic.Add("caption", "caption")

_MyFunc($oDic)

Func _MyFunc(ByRef $_Obj)
   MsgBox(64, "", StringFormat("Obj.msg = %s\ncaption = %s", $_Obj.Item("msg"), $_Obj.Item("caption")))
EndFunc ;==>_MyFunc


Код:
$oJSON = '{"key":"test", "val":[1,2,3]}'
_NewObj($oJSON)

ConsoleWrite($oJSON.key & @CR)
For $sVal In $oJSON.val
   ConsoleWrite($sVal & @CR)
Next

Func _NewObj(ByRef $o_JSON)

   $o_Obj = ObjCreate("MSScriptControl.ScriptControl")
   $o_Obj.Language = "JScript"
   $o_JSON = $o_Obj.Eval('(' & $o_JSON & ')')
EndFunc ;==>NewObj
 
Верх