myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 
 
Ответить в данную темуНачать новую тему

> Помогите Исправить Ошибку, API 2

Теги
Нет тегов для показа
Артём
сообщение 29.12.2008, 1:00
Сообщение #1


Наруто на аваторке
***********

Группа: Пользователи
Сообщений: 2 606
Регистрация: 11.10.2008
Из: Харькова
Пользователь №: 771
Спасибо сказали: 774 раза




beat_brick.gif в скрипте выдаёт ошибку "asciitalk_i.lua:388: attempt to index local 'file' (a nil value)" помогите исправить плиз.
Прикрепленный файл  ASCII.rar ( 12.91 килобайт ) Кол-во скачиваний: 12
Go to the top of the page
+Quote Post
Артём
сообщение 30.12.2008, 20:10
Сообщение #2


Наруто на аваторке
***********

Группа: Пользователи
Сообщений: 2 606
Регистрация: 11.10.2008
Из: Харькова
Пользователь №: 771
Спасибо сказали: 774 раза




eyes_droped.gif помогите плиз,я испробовал что мог,не не могу его ожевить...
Go to the top of the page
+Quote Post
Wariner
сообщение 30.12.2008, 21:21
Сообщение #3


Самый главный активист :-D
***********

Группа: Модераторы
Сообщений: 2 790
Регистрация: 29.6.2008
Из: г. Тула
Пользователь №: 97
Спасибо сказали: 440 раз




поробуй заменить self.Path на ATalk.Path
Go to the top of the page
+Quote Post
Nickolya
сообщение 30.12.2008, 21:32
Сообщение #4


Главный ра******й тут...
*********

Группа: Главные администраторы
Сообщений: 1 727
Регистрация: 18.5.2008
Из: RF, 2la
Пользователь №: 1
Спасибо сказали: 776 раз




Функция OnStartup() переписывается так:
Код
function OnStartup()
    ATalk.Path = Core.GetPtokaXPath().."scripts/"..ATalk.Path
    ATalk:Main()
end
и все запускается big_smile.gif

Цитата(Wariner @ 30.12.2008, 21:21) *
поробуй заменить self.Path на ATalk.Path

Не в этом суть... self тут выражает переданный скрыто первый параметр, это таблица ATalk (делается это методом как раз двоеточия: ATalk:Main()), видимо это некоторый метод оптимизации, возможно так быстрее идет обращение к переменным, Сетапер, Илюх, так ли это? big_smile.gif

А ошибка в том что файл не может быть открыт, все из-за путей, как и всегда. surrender.gif
Go to the top of the page
+Quote Post
Артём
сообщение 30.12.2008, 21:37
Сообщение #5


Наруто на аваторке
***********

Группа: Пользователи
Сообщений: 2 606
Регистрация: 11.10.2008
Из: Харькова
Пользователь №: 771
Спасибо сказали: 774 раза




Исправил (71 строка) ошибка пропала,а меню как небыло так и нету... eyes_droped.gif
Go to the top of the page
+Quote Post
Nickolya
сообщение 30.12.2008, 21:45
Сообщение #6


Главный ра******й тут...
*********

Группа: Главные администраторы
Сообщений: 1 727
Регистрация: 18.5.2008
Из: RF, 2la
Пользователь №: 1
Спасибо сказали: 776 раз




Давай доделывать скрипт дальше... Ищи
Код
OpConnected = UserConnected
ниже дописывай
Код
RegConnected = UserConnected
Go to the top of the page
+Quote Post
Артём
сообщение 31.12.2008, 10:10
Сообщение #7


Наруто на аваторке
***********

Группа: Пользователи
Сообщений: 2 606
Регистрация: 11.10.2008
Из: Харькова
Пользователь №: 771
Спасибо сказали: 774 раза




victory.gif спасибо за помощь,за перевод скрипта возьмусь в свободное время.

:P кое-как перевёл,если кому интересно выкладую скрипт
Прикрепленный файл  Веслые_к...ки_в_чат.rar ( 13.4 килобайт ) Кол-во скачиваний: 6

P.S. если кто сможет перевести поподробней буду благодарен
Прикрепленный файл  Алфавит.txt ( 16.17 килобайт ) Кол-во скачиваний: 9
- русский алфавит,заменить место англ букв,работает прикольно
CODE
[10:24:09] <UzVeR> !blowup БАБА
•••••• •• •••••• ••
•• •• •• •• •• ••
•• •• •• •• •• ••
•••••• •• •• •••••• •• ••
•• •• •• •• •• •• •• ••
•• •• •••••••••• •• •• ••••••••••
•• •• •• •• •• •• •• ••
•••••• •• •• •••••• •• ••

только команду в чат посылет,как можно исправить это?
Go to the top of the page
+Quote Post
Setuper
сообщение 2.1.2009, 19:38
Сообщение #8


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




Цитата(Nickolya @ 30.12.2008, 21:32) *
Не в этом суть... self тут выражает переданный скрыто первый параметр, это таблица ATalk (делается это методом как раз двоеточия: ATalk:Main()), видимо это некоторый метод оптимизации, возможно так быстрее идет обращение к переменным, Сетапер, Илюх, так ли это? big_smile.gif


"Метод" по быстродействию ничем не уступает простой функции, однако, использование методов говорит о направленности к объектно-ориентированному программированию, что в свою очередь считается хорошим стилем.

Синтаксис метода такой же как у функции, но любой метод содержит родительскую таблицу, которая указывается перед именем функции и отделяется от имени двоеточием.

Метод:
Код
function Test:Func(param1, param2)
равносилен функции:
Код
function Test.Func(Test, param1, param2)

Всегда лучше использовать методы вместо функций (если их использование логично и возможно). Использование методов позволяет не заботиться о названии переменной, путём замены этой переменной словом self.

Пример:

Можно написать так:
Код
tTest={
  sMsg="Hello world!"
}

function tTest.Func1()
  Core.SendToAll(tTest.sMsg)
  ...
end

tTest.Func1()
а можно написать так:
Код
tTest={
  sMsg="Hello world!"
}

function tTest:Func1()
  Core.SendToAll(self.sMsg)
  ...
end

tTest:Func1()

Потом, например, мы решили изменить имя таблицы с tTest на tTable, при этом, средствами замены редактора (Ctrl-H) воспользоваться нельзя, допустим из-за того, что в этом скрипте есть такие же имена локальных параметров (tTest). Также допустим, что кроме написанных действий в указанной функции есть очень много других действий, в которых используются переменные глобальной таблицы tTest. При таком раскладе в первом способе нужно будет проделать большую работу по замене переменной, во втором же способе нужно будет заменить только таблицу метода, так как в теле метода будут везде вместо tTest встречаться self. В данном примере метод работает быстрее, чем функция из-за того, что у функции 3 параметра, а у метода их 2 (каждый параметр передаётся через стек, а следовательно под локальную переменную каждого параметра выделяется дополнительная память).

Переменная self передаётся в метод по ссылке, а не через стек как все переменные. Это означает, что эту переменную можно использовать как для чтения, так и для записи!
Не мало важным фактом является и то, что эта переменная является переменной-указателем, то есть все операции над этой переменной происходят в памяти, которая выделена под переменную, на которую ссылается данная переменная self. Как раз из-за этого метод и обычная функция являются равносильными, однако повторю ещё раз, что использование методов является хорошим стилем программирования.


Под обычной функцией подразумевается следующее:

Код с обычной функцией:
Код
tTest={}
function F(param1, param2)
...
end

или вот с такой обычной функцией:
Код
tTest={}
function tTest.F(param1, param2)
...
end

по быстродействию ничем не уступает следующему методу:
Код
tTest={}
function tTest:F(param1, param2)
...
end

Однако, функция, которая равносильна методу выше:
Код
tTest={}
function tTest.F(tTest, param1, param2)
...
end
будет работать медленнее чем метод из-за передачи параметра tTest через lua-стек.
Go to the top of the page
+Quote Post

Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

Collapse

> Похожие темы

  Тема Ответов Автор Просмотров Последнее сообщение
No New Posts Помогите собрать пакет хаб софта для прошивки роутера OpenWRT (РЕШЕНО)
ptokax и opendchub
2 мамин_парень 6 304 5.5.2017, 5:21 Посл. сообщение: мамин_парень
No new ПОМОГИТЕ
Как дать определенному нику права администратора в любом скрипте ?
25 probest 25 077 18.1.2015, 1:17 Посл. сообщение: probest
No New Posts От: ПОМОГИТЕ
От темы с ID: 5730
0 dimetro 4 211 17.1.2015, 23:57 Посл. сообщение: dimetro
No New Posts Topic has attachmentsПомогите !
3 Dani_Filth 7 219 4.10.2014, 14:52 Посл. сообщение: Артём
No New Posts Topic has attachmentsПомогите Новичку разобрать со скрипами.
НЕ могу понять,после того как загрузил скрипт,его ещё надо настраивать
2 Prizrak333 6 562 27.4.2014, 10:53 Посл. сообщение: Prizrak333
No New Posts помогите мне пожалуйста настроить dc++
1 sdncn 6 315 29.9.2013, 9:37 Посл. сообщение: Delia
No new Помогите с Хабом!
26 cpr 32 470 7.2.2013, 17:20 Посл. сообщение: DEN 007
No New Posts Помогите разобрать ситуацию с хабом, создал хаб на птокеX 0.5.0.0
Помогите разобрать ситуацию с хабом
12 mambob 14 757 30.1.2013, 0:03 Посл. сообщение: Yamakasi
No New Posts Помогите наполнить Юзерами свежий хаб Help
Help me please
1 mambob 4 966 20.1.2013, 3:42 Посл. сообщение: Артём
No New Posts помогите с ip_zone4_min
2 ruslanlee 7 471 9.1.2013, 20:43 Посл. сообщение: ruslanlee
No New Posts Помогите со скриптом! Плачу!
help
2 jekasumy 6 169 19.10.2012, 23:10 Посл. сообщение: jekasumy
No New Posts От: помогите переделать скрипт для Ptokax
От темы с ID: 5237
0 Infern0_05 5 418 14.9.2012, 15:46 Посл. сообщение: Infern0_05
No New Posts Помогите выбрать скрипт
RSS читалка
0 dj hoodo 6 033 9.9.2012, 4:27 Посл. сообщение: dj hoodo
No New Posts помогите мне народ!
1
3 _Герой_ 8 520 6.7.2012, 13:44 Посл. сообщение: KCAHDEP
No New Posts Помогите переделать
Помогите переделать
11 Mr. DoKeP 16 291 27.6.2012, 7:14 Посл. сообщение: Ksan

 



RSS Сейчас: 27.11.2024, 6:17