15:24
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
          





Рекомендуем:





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
[GM] The Big PEN1:LS v2.00 ... 04.12.2017
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: AXE, Weddew  
помогите плиз..с телепортом
stepmexДата: Четверг, 17.12.2009, 18:19 | Сообщение # 16
Мастер джэдай
Группа: Продвинутые
Сообщений: 2914
Награды: 35
Город: Е-бург
Репутация: 1032
Замечания: 0%
Статус:
Quote (ZirkiN)
Когда функция возвращает результат этой функции, тогда все нормально, но когда вы возвращаете результат работы функции для того, чтобы просто выполнить тело возвращаемой функции, то это выглядит более чем странно.
бла бла бла
SendClientMessage
Quote
This function does not return a specific value, it's best to simply ignore it.

Эта функция всегда возвращает 0, так что не надо тут туфту морозить!
Просто в таком виде вы экономите 3 строки и действительно избавляетесь от лишних скобок, которые серверные скрипты кстати обрабатывают как суб уровень кода, и на эту обработку уходит пару тиков процессора!



И создал Бог женщину!.. Существо получилось злобное, но симпатичное...
ZirkiNДата: Четверг, 17.12.2009, 19:58 | Сообщение # 17
Постоялец
Группа: Продвинутые
Сообщений: 326
Награды: 15
Город: Новосибирск
Репутация: 144
Замечания: 0%
Статус:
Quote (stepmex)
которые серверные скрипты кстати обрабатывают как суб уровень кода

pawn является компилируемым (pawncc.exe), скобки у условных операторов просто превращаются в jc, и без них условные операторы имеют столько же jс :D
Quote (stepmex)
бла бла бла

ты же говорил что у тебя диплом по программированию, там должны были объяснить что такое "вернуть результат работы функции" и зачем оно нужно
Quote (stepmex)
Просто в таком виде вы экономите 3 строки

Ресурсы нужно экономить, а не символы для записи кода

Поясню чем это плохо:

Code

//Ухты несовместимость типов возвращенных значений array и non-array
GetInverseStr(mystring[]){
       new result[255],i,lenstr;
       lenstr = strlen(mystring);
       if(lenstr==0) return SendClientMessageToAll(0xFFFFFFFF, "В GetInverseStr(param) пустая строчка");
       for(i=0; i<lenstr; ) result[i]=mystring[lenstr - ++i];
       result[lenstr] = 0;
       return result;
}

Code

//Более правильно
GetInverseStr(mystring[]){
       new result[255],i,lenstr;
       lenstr = strlen(mystring);
       for(i=0; i<lenstr; ) result[i]=mystring[lenstr - ++i];
       result[lenstr] = 0;
       return result;
}

И если уж на то пошло то с
SendClientMessage

Quote

SendClientMessage(playerid, COLOR_GREEN, "Welcome to my server!");
return 1;

вместо
return SendClientMessage(playerid, COLOR_GREEN, "Welcome to my server!");
fun



all:GMCC ~2%
current:GMCC.C.L0 ~49%


Сообщение отредактировал ZirkiN - Четверг, 17.12.2009, 20:01
stepmexДата: Четверг, 17.12.2009, 20:16 | Сообщение # 18
Мастер джэдай
Группа: Продвинутые
Сообщений: 2914
Награды: 35
Город: Е-бург
Репутация: 1032
Замечания: 0%
Статус:
Quote (ZirkiN)
ты же говорил что у тебя диплом по программированию, там должны были объяснить что такое "вернуть результат работы функции" и зачем оно нужно
я знаю что это.
А ты меня походу вообще не понял. mda
Пример кстати никудышный, в этом примере ты сравниваешь жопу с пальцем: а именно преднамеренно допускаешь ошибку в коде и потом преподносишь правильное решение.
Кстати в PHP и первый вариант бы проканал :D



И создал Бог женщину!.. Существо получилось злобное, но симпатичное...
ZirkiNДата: Четверг, 17.12.2009, 20:23 | Сообщение # 19
Постоялец
Группа: Продвинутые
Сообщений: 326
Награды: 15
Город: Новосибирск
Репутация: 144
Замечания: 0%
Статус:
Quote (stepmex)
Пример кстати никудышный, в этом примере ты сравниваешь жопу с пальцем: а именно преднамеренно допускаешь ошибку в коде и потом преподносишь правильное решение.

пример на то и пример, чтобы сравнить что-то идеальное с чем-то неидеальным, но имеющим место.
Quote (stepmex)
Кстати в PHP и первый вариант бы проканал

Кстати в пхп просто нетипизированные переменные

Quote (ZirkiN)
Когда функция возвращает результат этой функции, тогда все нормально, но когда вы возвращаете результат работы функции для того, чтобы просто выполнить тело возвращаемой функции, то это выглядит более чем странно.

Quote (stepmex)
бла бла бла
SendClientMessage

Quote (stepmex)
А ты меня походу вообще не понял.

По моему это ты меня не понял

Quote (stepmex)
This function does not return a specific value, it's best to simply ignore it.
Эта функция всегда возвращает 0, так что не надо тут туфту морозить!

Эта функция ничего не возвращает, она void/procedure, так зачем же пытаться вернуть ее результат?
А то, что в printf("return SendClientMessage has returned %d", SendClientMessage(0, 0xFFFF, "test"));
будет написано return SendClientMessage has returned 0 - так это просто защита от дурака



all:GMCC ~2%
current:GMCC.C.L0 ~49%


Сообщение отредактировал ZirkiN - Четверг, 17.12.2009, 21:02
stepmexДата: Четверг, 17.12.2009, 21:50 | Сообщение # 20
Мастер джэдай
Группа: Продвинутые
Сообщений: 2914
Награды: 35
Город: Е-бург
Репутация: 1032
Замечания: 0%
Статус:
Quote (ZirkiN)
так это просто защита от дурака
дак вот благодаря этой защите от дураков, функция всегда и возвращает 0, или скажешь это не так? wall



И создал Бог женщину!.. Существо получилось злобное, но симпатичное...
ZirkiNДата: Четверг, 17.12.2009, 22:38 | Сообщение # 21
Постоялец
Группа: Продвинутые
Сообщений: 326
Награды: 15
Город: Новосибирск
Репутация: 144
Замечания: 0%
Статус:
Quote (stepmex)
дак вот благодаря этой защите от дураков, функция всегда и возвращает 0, или скажешь это не так?

по твоему функция void или попросту говоря процедура что-то возвращает?
далеко не во всех языках разрешено делать variable = procedure(param)
Функция объявлена как существующая (native) и павн не в силах проверить ее тело,
что делает павн когда встречает ключевое слово return:
он видит, что ему надо вернуть что-то, для этого он выделяет ячейку памяти, но так как конечная функция SendClientMessage не работает с этой ячейкой, то в ней так и остается 0 (имеется ввиду заложение алгоритма на стадии компиляции), поэтому return SendClientMessage(param) вернет 0, а сама SendClientMessage ничего не возвращает.
При этом считается что не процедура вернула 0 (она по определению не может его вернуть).
о чем мы спорим?



all:GMCC ~2%
current:GMCC.C.L0 ~49%
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:





 


 


 
Хостинг от uCoz samp.at.ua