Author Topic: переход с версии 4.8 на 4.10  (Read 3079 times)

0 Members and 2 Guests are viewing this topic.

Сладенький

  • Освоившийся
  • **
  • Posts: 24
    • View Profile
переход с версии 4.8 на 4.10
« on: April 29, 2014, 09:34:49 PM »
Реально ли перевести написанный скрипт с версии 4.8 на 4.10??? Или нужно все заново перетыкивать?

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: переход с версии 4.8 на 4.10
« Reply #1 on: April 29, 2014, 11:17:53 PM »
Отличия в подпрограммах

v4.8
Code: (clickermann) [Select]
SUB (name)
END_SUB
 
GOSUB (name)

v4.10
Code: (clickermann) [Select]
SUB (name) // подпрограмма должна быть обязательно выше вызова
END_SUB

name()

Цикл FOR наращивает переменную после первого прохода а не перед как раньше.

Сладенький

  • Освоившийся
  • **
  • Posts: 24
    • View Profile
Re: переход с версии 4.8 на 4.10
« Reply #2 on: April 30, 2014, 01:03:25 PM »
Эх а как я понял вложенный цикл он так и не понимает
тоесть
так сказать запускной файл :)

#include "osnova.cms"
$K_SPEED = 4  // Delay multiplier
telo()
WAIT(1 * $K_SPEED)
telo()
WAIT(1 * $K_SPEED)

SUB (telo)
#include "1.cms"
#include "2.cms"
sajaem()

И выдает ошибку: Ошибка при вызове функции: POP()

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: переход с версии 4.8 на 4.10
« Reply #3 on: April 30, 2014, 02:00:22 PM »
Почему новички сразу лезут в эти #include ?

Code: (clickermann) [Select]
SUB (telo) // ВЫШЕ ВЫЗОВА!!!!
#include "1.cms"
#include "2.cms"
END_SUB

#include "osnova.cms"

telo()
WAIT(1)
telo()
WAIT(1)

sajaem()

Atas

  • Активный участник
  • ***
  • Posts: 147
    • View Profile
Re: переход с версии 4.8 на 4.10
« Reply #4 on: April 30, 2014, 05:20:17 PM »
Quote
Почему новички сразу лезут в эти #include ?
Потому, что мы справку читаем. :P

Справка по языку сценариев; актуально для версии: 4.10 (build 000); дата сборки: 03.04.2014
Если вы нашли неточность или ошибку в справке: пишите нам clickermann@inbox.ru
Quote
...
Описание
Подпрограмма это последовательность действий, объединенная в блок с собственным именем и набором параметров. Подпрограмму можно описать в любом месте сценария. Однако, описание подпрограммы должно быть раньше (выше) любого из ее вызовов. Хорошим тоном считается вынесение тел подпрограмм в отдельный внешний файл, подключаемый затем через директиву #include
...
Сорри за оффтопик, просто скучно. =(

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: переход с версии 4.8 на 4.10
« Reply #5 on: May 01, 2014, 10:09:12 PM »
И где в первом сообщений прочитанное из справки "описание
подпрограммы должно быть
раньше (выше) любого из ее
вызовов"?

Вообще то автор имел ввиду что в инклюд нужно выносить всю подпрограмму вместе с SUB и END_SUB, а не одни внутренности.