Довольно часто на форумах вижу код вида:
В связи с этим возникают вопросы:
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" может быть таблицей или функцией)?