Функция CalcBuySell

Страницы: 1
RSS
Функция CalcBuySell
 
Друзья, подскажите, пожалуйста, почему элементарный набор кода выдает nil на выходе? sleep перед выводом ставил, не помогает.
Код
function main()
   local OpOrder = "B"
   local qty
   local comis
   local PRC1 = tonumber(getParamEx("SPBFUT", "RIM1", "LAST").param_value)
   local PRC2 = tonumber(getParamEx("SPBFUT", "RIM1", "SEC_PRICE_STEP").param_value)
   
   
   if OpOrder == "B" then
      PRCStr = tostring(math.ceil(PRC1+50*PRC2))
      qty, comis = CalcBuySell("SPBFUT", "RIM1", "", "SPBFUT001bm", PRCStr, true)
   elseif OpOrder == "S" then
      PRCStr = tostring(math.ceil(PRC1-50*PRC2))
      qty, comis = CalcBuySell("SPBFUT", "RIM1", "", "SPBFUT001bm", PRCStr, false)
   end
   message(tostring(qty))
end

PS
КАК ЖЕ МНЕ ДОРОГ ЭТОТ LUA
 
Вдогонку.
Я понимаю что можно поделить одно число на другое и получить тот же ответ.
Вопрос кроется в другом: ПОЧЕМУ НЕ РАБОТАЕТ ОБЪЕКТНАЯ МОДЕЛЬ!
 
Это не праздный вопрос: я хочу понять где еще могу словить подводные камни.
 
Андрей, Подводные камни Вы можете огрести где угодно - у меня четверть, если не треть всего кода посвящена именно обходу этих камней.
 
Цитата
Владимир написал:
Андрей, Подводные камни Вы можете огрести где угодно - у меня четверть, если не треть всего кода посвящена именно обходу этих камней.
Можете сообщить к чему стоит относится более осторожно? Я лично с подозрением начал относится именно к функциям QLUA. К базовой библиотеке LUA претензий не имею.
 
Решил проблему)))))
Нафига я сую строку PRCStr  в числовой параметр цены))))
Вот опять вопрос к разработчикам: зачем эти пертурбации с типами на стороне клиента? Ну где еще это есть?
Я понимаю что здесь сам дурак, но уже, если честно, запутался. Получая с сервака число, я его, почему-то, должен преобразовать не только в строку, но и целочисленное значение.
 
Андрей, Осторожно нужно относиться буквально ко всему. Я первые месяца два матерился чуть ли не на каждую строчку кода. А сегодня поймал последнюю, которая проявлялась не каждый день. Оказалось, моя и совсем дурная: вместо a[i][1][5] стояло a[i[1][5]]. Раз двадцать глядел на это место - не видел! :smile:  
 
Цитата
Андрей написал:
PS
КАК ЖЕ МНЕ ДОРОГ ЭТОТ LUA

Зачем ты мучаешься?
Переходи на QPILE
 
Цитата
Владимир написал:
Оказалось, моя и совсем дурная: вместо a[i][1][5] стояло a[i[1][5]]. Раз двадцать глядел на это место - не видел!

Тебе, дурачку, давно уже сказали, что и сам ты говно, и код твой такой же. Причем именно про это место и говорилось.
Но, разумеется, в твоих руках из жопы виноват нормальный язык Lua, кто бы сомневался.
Про руки твои и голову - это медицинский факт.
 
swerg, Это место, лапуль, никогда никому не показывалось, так что брехать про "говорилось" не следует.  :wink: Ну да ладно, не трону - припадок пройдёт, и визжащая баба базарная тихонечко заткнётся.
 
Цитата
Владимир написал:
никогда никому не показывалось, так что брехать про "говорилось" не следует.

Именно про этот код тебе, идиоту со стажем, и говорилось: с таким написанием - огребёшься. Огрёбся. Но продолжаешь изворачиваться, т.к. говно иначе не умеет.
 
swerg,Тьфу ты! Так Вы про стиль, лапочка, а не про код. Стиль у меня замечательный, много лет испытанный и используемый. В том числе, и стиль программирования на клиенте, испытан и отлажен на генераторе перловых и JS-скриптов (сам генератор, естественно, на С). Ещё фрагмент из моей книги - теперь уже по поводу стиля, чтобы разные шибка вумные не вякали своей бредятины:

Тексты (вместе с комментариями) не должны выходить за пределы экрана (80 символов). Строчные комментарии располагаются с 33 позиции курсора в строке. Все строки, позволяющие разместить строчный комментарий, должны его иметь. При необходимости, в теле программы могут быть глобальные комментарии, располагающиеся с первой позиции курсора. Строки после операторов if, for, switch и первый оператор после открывающей фигурной скобки смещаются вправо на один символ относительно предыдущего текста. Длинная строка (перенос) смещается на два символа. При описании процедуры (функции) в комментариях указывается её назначение, входные и выходные параметры, имена разработчиков (соавторов) с указанием даты начала и окончания работы над модулем (любого принятого изменения – даже если это была единственная запятая, даже если изменение впоследствии было отменено).
Примерно так я пытался описывать правила оформления SINT-модулей. Собственно, так оно и есть, все эти правила обычно соблюдаются, наряду с классическими, вроде «одного оператора в строке достаточно». Мне они кажутся довольно разумными, продуманными, облегчающими читабельность текста и дисциплинирующими программиста. Особенно удачным оказалось требование ставить комментарии везде, где для этого есть место – неожиданно выяснилось, что программисту почти всегда есть, что сказать дополнительно о разрабатываемом им продукте.

 
Книжку твою никому неизвестную ты для доктора пишешь. Ему, быть может, будет любопытно к истории болезни приобщить.
Более никому этот бред не интересен.
 
swerg, Тяф-тяф-тяф! ПО ДЕЛУ, как я понимаю, возразить нечего?  :wink:  
Страницы: 1
Читают тему
Наверх