Довольно часто на форумах вижу код вида:
В связи с этим возникают вопросы:
1) функции, передающие таблицы lua в quik (sendTransaction и подобные) не меняют содержимое таблиц-параметров?
2) то есть таблицы-параметры не нужно создавать каждый раз заново, а можно использовать повторно? Разумеется, обновив значения её полей.
3) будут ли функции sendTransaction и ей подобные корректно работать с таблицей с дополнительными полями, не описанными в документации? Например, если добавить поле "__type" или даже "@#$ ~*!$%" для введения подтипов таблиц во внутренней логике скрипта?
4) будут ли функции sendTransaction и ей подобные корректно работать с таблицей с установленной метатаблицей (устанавливаемой ф-цией setmetetable)?
5) будут ли в переданных в Quik таблицах работать метаметоды, например "__index"? Зависит ли это от способа определения метаметода (например, "__index" может быть таблицей или функцией)?
Код |
---|
function SendLimitOrder (ClassCode,SecCode,Operation,OrderPrice,Lots) Trans_ID = Trans_ID + 1 local trans = { ["ACTION"] = "NEW_ORDER", ["CLASSCODE"] = ClassCode, ["SECCODE"] = SecCode, ["ACCOUNT"] = Account, ["OPERATION"] = Operation, ["PRICE"] = tostring(OrderPrice), ["QUANTITY"] = tostring(Lots), ["TRANS_ID"] = tostring(Trans_ID) } local res = sendTransaction(trans) CurrentOrderPrice = OrderPrice end |
1) функции, передающие таблицы lua в quik (sendTransaction и подобные) не меняют содержимое таблиц-параметров?
2) то есть таблицы-параметры не нужно создавать каждый раз заново, а можно использовать повторно? Разумеется, обновив значения её полей.
3) будут ли функции sendTransaction и ей подобные корректно работать с таблицей с дополнительными полями, не описанными в документации? Например, если добавить поле "__type" или даже "@#$ ~*!$%" для введения подтипов таблиц во внутренней логике скрипта?
4) будут ли функции sendTransaction и ей подобные корректно работать с таблицей с установленной метатаблицей (устанавливаемой ф-цией setmetetable)?
5) будут ли в переданных в Quik таблицах работать метаметоды, например "__index"? Зависит ли это от способа определения метаметода (например, "__index" может быть таблицей или функцией)?