Author Topic: ARRPOP CM 4.9.002  (Read 6070 times)

0 Members and 1 Guest are viewing this topic.

Крис Тинка

  • Активный участник
  • ***
  • Posts: 171
    • View Profile
ARRPOP CM 4.9.002
« on: January 06, 2014, 09:57:17 AM »
Код вызывает ошибку
Вот так работает
Code: (clickermann) [Select]
arrpush($a, 10)
arrpush($a, 20)
print($a[0])
print($a[1])
halt
А так нет
Code: (clickermann) [Select]
arrpush($a, 10)
arrpush($a, 20)
$b =  arrpop($a)
print($b)
$b =  arrpop($a)
print($b)
halt
« Last Edit: January 06, 2014, 10:06:52 AM by Крис Тинка »

Johnny

  • Создатель
  • Герой форума
  • *
  • Posts: 593
    • View Profile
Re: ARRPOP CM 4.9.002
« Reply #1 on: January 06, 2014, 10:56:32 AM »
это вообще недочет в парсере. исправлю попозже, следите за обновлениями

где там обновка Большого Теста то уже? я так билды до 50 добью

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: ARRPOP CM 4.9.002
« Reply #2 on: January 06, 2014, 12:42:14 PM »
Здесь он  :D

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: ARRPOP CM 4.9.002
« Reply #3 on: January 07, 2014, 07:28:36 AM »
Здесь он  :D
В проверке Тест SUB 1,2 вызывается первая, одна подпрограмма. Далее просто пишется:
LOGWRITE ("SUB 2")

Может предпологалось вызов SUB 2 из SUB 1?

Нет проверки когда тестируемые команды вложены в циклы или условия. Последние траблы возникали там. Может конечно частный случай.
Пока из теста не работает только arrpop



Глаза поломал пока всё сверил  :)
Предлагаю сделать что нибудь наподобие:
Code: (clickermann) [Select]
SUB(proverka1, $el1, $target1, $text1)
   LOGWRITE ($text1, $el1)
   IF($el1 = $target1)
   ELSE
      LOGWRITE ("Ошибка!!!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++")
   END_IF
END_SUB

LOGWRITE (" ")
LOGWRITE ("тест SQRT")
$SQRT_TEST = SQRT(400)
proverka1($SQRT_TEST, 20, "Возвращает 20: ")

Так будет отрабатывать при ошибке:
Code: (clickermann) [Select]
LOGWRITE (" ")
LOGWRITE ("тест SQRT")
$SQRT_TEST = SQRT(1000)
proverka1($SQRT_TEST, 20, "ПРИМЕР. Возвращает 20: ")

Это естественно для одного параметра. Для двух вызывать 2 раза или вызывать другой саб:
Code: (clickermann) [Select]
SUB(proverka2, $el1, $target1, $text1, $el2, $target2, $text2)
   LOGWRITE ($text1, $el1)
   LOGWRITE ($text2, $el2)
   IF(($el1 = $target1) & ($el2 = $target2))
   ELSE
      LOGWRITE ("Ошибка!!!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++")
   END_IF
END_SUB

Заодно проверим передачу кучи параметров  :) ;) ;D


Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: ARRPOP CM 4.9.002
« Reply #4 on: January 07, 2014, 03:34:08 PM »
Нет, просто тестируется работает ли СУБпрограмма,  иначе будет только СУБ2. Идея "Большого теста" в том чтобы быстро протестировать все возможные функции на работоспособность. Конечно глюк может возникать из за разного рода сочетаний...