Author Topic: Массивы и переменные  (Read 18021 times)

0 Members and 1 Guest are viewing this topic.

vovan13

  • Зашел в гости
  • *
  • Posts: 8
    • View Profile
Массивы и переменные
« on: October 17, 2012, 02:00:33 AM »

1 ввести элементарные массивы и простенькие команды работы с ними
2 увеличить количество переменных больше 99 (королевство маловато, разгуляться негде:) ) как вариант в config.ini добавить строчку максимальное количество переменных

Для простых сценариев это конеша не нужно, но для реализации нормального бота с проверками - маловато.

Johnny

  • Создатель
  • Герой форума
  • *
  • Posts: 593
    • View Profile
Re: Массивы и переменные
« Reply #1 on: October 17, 2012, 01:08:39 PM »
вова, гуляй на здоровье. ограничения на кол-во переменных в 4.7 нету. просто такую несущественную мелочь я не стал указывать.
так же теоретически переменные могут в себя вмещать длинные (255+) строки, хотя вряд ли это кому то понадобится

массивы находятся в стадии обдумывания

vovan13

  • Зашел в гости
  • *
  • Posts: 8
    • View Profile
Re: Массивы и переменные
« Reply #2 on: October 17, 2012, 03:19:37 PM »
некоторые мозг царапают думая как впихнуть не впихуемое, а для некоторых это несущественная мелочь. :o

СлавьЯнИнъ

  • Активный участник
  • ***
  • Posts: 179
    • View Profile
Re: Массивы и переменные
« Reply #3 on: October 23, 2012, 01:18:36 AM »
Во, это похоже на мой случай. Пока 4.6

1. Где написано что существует ограничение в 99 переменных?
2. Как подсчитать кол-во переменных в уже созданном скрипте?

Поясню.
Мой скрипт содержит 2800 строк плюс два инклуда, по 400 и 500 строк.
Недавно (вчера) мне потребовался третий инклуд с массивом и тремя сабами.
Массив пришлось реализовывать банально списком переменных (около 60). После написания и запуска скрипт стал вести себя странно. Выразилось в том, что большинство переменных (из "массива") перестали принимать значения отличные от нуля.

Сейчас я хочу определить является ли причиной сбоя ограничение 99-ти?
Собственно 1 и 2!
добрый смех равняет всех

Сергей

  • Активный участник
  • ***
  • Posts: 159
    • View Profile
Re: Массивы и переменные
« Reply #4 on: October 23, 2012, 04:39:38 AM »
1. В этом топике ;D.
2. Ну если только скрипт написать который все это распарсит.
Отсутствую.

Johnny

  • Создатель
  • Герой форума
  • *
  • Posts: 593
    • View Profile
Re: Массивы и переменные
« Reply #5 on: October 23, 2012, 07:58:30 AM »
ну объективно может. или еще проще - ты запутался в своих 60 переменных  ;D
если кликер встретит переменную, которая не была объявлена (или была, но не хватило места), то он не будет ругаться, а обработает ее как ноль.

в 4.7 лимит был убран (ну, он ограничен размером оперативки), а вот человеческий фактор (ошибки, описки) убрать ну никак не получится

Сергей

  • Активный участник
  • ***
  • Posts: 159
    • View Profile
Re: Массивы и переменные
« Reply #6 on: October 23, 2012, 10:27:18 AM »
Написал простенький скрипт на джаваскрипте, который считает кол-во используемых переменных.
Системные пропускает. Регистр игнорирует. Повторы, разумеется, не считает.

http://jsfiddle.net/AH5M2/embedded/result/

Заработал даже на скрипте ЦИТРИН'а c 8к строчек. Кстати там оказывается вообще нет пользовательских переменных (только системные юзаются)
Отсутствую.

СлавьЯнИнъ

  • Активный участник
  • ***
  • Posts: 179
    • View Profile
Re: Массивы и переменные
« Reply #7 on: October 23, 2012, 04:18:05 PM »
ЗдОрово!
Особенности:
Считает уже по новой версии, только переменные с долларами.
Считает переменные "спрятанные" за //
Вот бы ещё вывод списка переменных из получившегося массива сделать.
Системные получается вывести, а парсенные нет. Почему Сергей?
Code: [Select]
$('.run').click(function(){
    $('.result').html(count_vars($('.text').attr('value'))+" переменных");
for(var i = 0; i < system_vars.length; i++){document.writeln(system_vars[i])
    document.writeln("</br>")}
}
добрый смех равняет всех

Сергей

  • Активный участник
  • ***
  • Posts: 159
    • View Profile
Re: Массивы и переменные
« Reply #8 on: October 23, 2012, 04:53:47 PM »
Хе-хе, не ошибается тот, кто ничего не делает!

>Системные получается вывести, а парсенные нет. Почему Сергей?
Переменная parsed_vars локальная, вне функции её не вызвать. Теперь сделал её глобальной.
Коментарии починил, переменные с процентом тоже. Вроде больше не было способов объявления, через диез только константы.

http://jsfiddle.net/AH5M2/1/embedded/result/
Отсутствую.

СлавьЯнИнъ

  • Активный участник
  • ***
  • Posts: 179
    • View Profile
Класс!
« Reply #9 on: October 23, 2012, 05:12:27 PM »
Класс! :)
Вот это уже можно использовать как дополнение к большим сценариям кликера.
Осталось ещё при выводе количества переменных разбить их на строковые и числовые.  ;D
Но это потребует анализа значений, куча мороки и не нужно.
добрый смех равняет всех

СлавьЯнИнъ

  • Активный участник
  • ***
  • Posts: 179
    • View Profile
Важный вопрос
« Reply #10 on: October 25, 2012, 07:28:22 AM »
Переменные и константы из const.txt это разные разряды?
Можно ли с помощью них преодолеть 99-ый лимит в версии 4.6?
добрый смех равняет всех

Johnny

  • Создатель
  • Герой форума
  • *
  • Posts: 593
    • View Profile
Re: Важный вопрос
« Reply #11 on: October 25, 2012, 08:20:06 AM »
Переменные и константы из const.txt это разные разряды?
Можно ли с помощью них преодолеть 99-ый лимит в версии 4.6?
какой ты хитрый. ну можно сказать что разряды разные. вообще они изначально вводились только ради клавиш, чтоб не лазить без конца в таблицу. и по хорошему теперь надо вслед за строковыми вырезать и константы. и оформить их в виде отдельного файла для #include но уже как переменные с красивыми именами.
но пока они побудут с нами

ну и насколько я помню лимит там больше чем 99 (потому что хотя бы одних клавиш больше ста)

СлавьЯнИнъ

  • Активный участник
  • ***
  • Posts: 179
    • View Profile
Re: Массивы и переменные
« Reply #12 on: October 26, 2012, 06:56:22 PM »
Я перешёл на 4.7 и могу использовать сколько хочу переменных, но идею с константами попробую ))
добрый смех равняет всех

Сергей

  • Активный участник
  • ***
  • Posts: 159
    • View Profile
Re: Массивы и переменные
« Reply #13 on: October 27, 2012, 12:32:05 PM »
http://jsfiddle.net/AH5M2/2/embedded/result/
Разделил строковые и числовые переменные.
Отсутствую.

СлавьЯнИнъ

  • Активный участник
  • ***
  • Posts: 179
    • View Profile
AH5M2
« Reply #14 on: October 27, 2012, 02:38:43 PM »
Здорово!
Следующим шагом, на мой взгляд, каксается вывода переменных.
Сделать его поочерёдным: сначала все строковые, как правило их меньше, потом все числовые.
добрый смех равняет всех