Плагин lists.spf [15/08/2013 21:40]

Обсуждение программ nnCron и nnCron LITE

Re: Плагин lists.spf

Postby VoidVolker » Sat, 03 Dec 2011, 23:56

Попробуй локализовать. Появилось несколько идей - возможно немного переделаю.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Плагин lists.spf

Postby Morituruz » Sun, 04 Dec 2011, 01:30

Сбой по-моему мнению начинается здесь:
Code: Select all
S" DNS" hosts!
S" Google" hosts!
S" norm" hosts!

причём это происходит только если до этого был выход из цикла. Т.е. кронтаб изменяется, в */5 минут начинает работать задача, и работает часами. Если же происходит выход из цикла BEGIN ... UNTIL, то во время повторного запуска вылетает ошибка Error # -1073741819
User avatar
Morituruz
 
Posts: 725
Joined: Sun, 14 Oct 2007, 01:51

Re: Плагин lists.spf

Postby VoidVolker » Sun, 04 Dec 2011, 09:45

Code: Select all
S" line" EVAL-SUBST

Зачем впустую его гонять? Не забываем, что EVAL-SUBST довольно-таки медлительное слово и такая их куча добавляет лишнюю нагрузку на процессор. А чем автостроки не нравятся?
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Плагин lists.spf

Postby Morituruz » Sun, 04 Dec 2011, 20:51

Затем, что навтыкал копипастом. Автостроки незнакомы, а в моих задачах о производительности и речи не идёт, без ошибок и то спасибо :)
Кстати, на первой странице вы упоминали слова FREE-LIST и FREE-SLIST (это я так понял для строкового списка). Где они в плагине то? Думаю, если воткну в конец задачи и может жизнь наладится.
User avatar
Morituruz
 
Posts: 725
Joined: Sun, 14 Oct 2007, 01:51

Re: Плагин lists.spf

Postby VoidVolker » Sun, 04 Dec 2011, 22:26

Moriturus wrote:Автостроки незнакомы

Ну вот, есть повод познакомиться. Намного удобнее EVAL-SUBST плюс несколько плюшек.
Moriturus wrote:Кстати, на первой странице вы упоминали слова FREE-LIST и FREE-SLIST (это я так понял для строкового списка). Где они в плагине то? Думаю, если воткну в конец задачи и может жизнь наладится.

Это был лишь пример. На данный момент списки типизированные: FREE-LIST универсален, он сам определяет как правильно освобождать тот или иной список.
Есть ли еще какие пожелания/предожения/замечания по спискам? Есть еще примеры задач, в которых используются?
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Плагин lists.spf

Postby Morituruz » Sun, 04 Dec 2011, 22:39

VoidVolker wrote:На данный момент списки типизированные: FREE-LIST универсален, он сам определяет как правильно освобождать тот или иной список.

Нет его в плагине, нет. Вот собственно подобные проблемы отталкивают от немассовых решений.
User avatar
Morituruz
 
Posts: 725
Joined: Sun, 14 Oct 2007, 01:51

Re: Плагин lists.spf

Postby VoidVolker » Mon, 05 Dec 2011, 17:59

Moriturus wrote:Нет его в плагине, нет. Вот собственно подобные проблемы отталкивают от немассовых решений.

А внимательно прочитать хелп религия не позволяет?
VoidVolker wrote:LIST-FREE \ ( list -- ) \ Полностью очистить список.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Плагин lists.spf

Postby Morituruz » Mon, 05 Dec 2011, 18:50

Таки вы дезинформировали меня постами на форуме :)
Вобщем, теперь другая ошибка:
Code: Select all
...
      S" line" EVAL-SUBST CRON-LOG
   ONLINE? aston_fail_flag <>
UNTIL
-1 TO aston_fail_flag
      S" exit" EVAL-SUBST CRON-LOG
1000 PAUSE
hosts LIST-FREE
)#


Code: Select all
05 Dec 20:10:00 14984 line
05 Dec 20:10:00 14984 exit
05 Dec 20:10:21 14984 Ping_hosts: Внутренняя ошибка. Параметр задан неверно.
User avatar
Morituruz
 
Posts: 725
Joined: Sun, 14 Oct 2007, 01:51

Re: Плагин lists.spf

Postby VoidVolker » Mon, 05 Dec 2011, 21:16

Ага, вижу, посмотрю.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Плагин lists.spf

Postby AlikasS » Fri, 09 Dec 2011, 16:13

опять же, инфо про "стандарнтые" списки Проблема со списками
может плагин сделать как надстройку над стандарнтыми?
User avatar
AlikasS
 
Posts: 1434
Joined: Wed, 28 Jun 2006, 05:39
Location: Khabarovsk

Re: Плагин lists.spf

Postby VoidVolker » Fri, 09 Dec 2011, 21:05

Я как-бы уже говорил, что надстройка - УЖЕ ПРОЙДЕННЫЙ ЭТАП. Этот когда-то БЫЛО надстройкой, а сейчас - это уже САМОСТОЯТЕЛЬНЫЙ плагин.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Плагин lists.spf

Postby VoidVolker » Sun, 11 Dec 2011, 12:42

Ап! Исправлена бага в LIST-FREE - теперь оно корректно освобождает память, занятую строками и элементами списка.
Кстати, вот еще пример, как можно работать со списками:
Code: Select all
LIST: n
1 n! 2 n! 3 n! 4 n! 5 n!

: n.
  n BEGIN @ DUP WHILE    \ До тех пор, пока в списке есть следующий элемент
    DUP NVAL@ .    \ работаем с содержимым списка
  REPEAT
  DROP
;

n.
1 2 3 4 5  Ok

Тут используется пошаговый итератор (в данном случае слово @ и элемент списка на стеке). А n( )n - циклический итератор. Думаю следует сделать автономный пошаговый итератор: просто одним словом типа n@ - каждый последующий вызов будет выбирать следующий элемент списка, а после конце списка итератор будет возвращаться в начало. Т.о. его можно будет использовать в бесконечном цикле. Есть предложения или идеи на этот счет?
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Плагин lists.spf

Postby VoidVolker » Sun, 11 Dec 2011, 14:10

Ап! Добавлено слово LIST@ - это пошаговый итератор.
LIST@ ( list -- node )
Пошаговый итератор. Получить значение следующего элемента списка. Слово предназначено для применения внутри пользовательских циклов. Следующий вызов LIST@, после конца списка вернет ноль, затем итератор будет реинициализирован и начнет перечисление с первого элемента списка. В случае, если список пуст - возвращаемое значение тоже будет ноль. При работе со строковыми списками возвращается пустая строка.
Code: Select all
LIST: n
1 n! 2 n! 3 n! 4 n! 5 n!
: n.
  BEGIN n LIST@ DUP WHILE
    .
  REPEAT
  DROP
;

n.
1 2 3 4 5  Ok
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Плагин lists.spf

Postby VoidVolker » Sun, 11 Dec 2011, 14:31

Ап! Добавил автокомпиляцию слова имя_списка@, определяется так:
Code: Select all
: имя_списка@   имя_списка LIST@ ;

Кстати, похоже нигде не указано, но также при определении списка создаются следующие слова:
Code: Select all
: имя_списка(   имя_списка LIST( ;
: )имя_списка   )LIST ;
: имя_списка!   имя_списка LIST! ;
: !имя_списка   имя_списка !LIST ;
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Плагин lists.spf

Postby VoidVolker » Sun, 11 Dec 2011, 14:38

Ап!
Code: Select all
: имя_списка?   имя_списка IN-LIST? ;
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

PreviousNext

Return to nnCron forum (Russian)

Who is online

Users browsing this forum: No registered users and 1 guest