Объясните о return
#1

Здравствуйте! Расскажите о return, что она возвращает и как и когда нет. А то я во многих случаях не знаю что поставить. Вот хотелось бы узнать о ней больше. Как определить, что оно что-то возвращает или нет?
Reply
#2

Чить wiki.
Reply
#3

Дай ссылку, где там именно об этом написано, а то поиск там много лишнего находит.
Reply
#4

Пример, когда не возвращает:

PHP код:
stock Primer(playeridSendClientMessage(playerid, -1"Пример"); 
используем где-то:

PHP код:
Primer(playerid); 
Пример, когда возвращает:

PHP код:
stock Primer(playerid) return GetPlayerMoney(playerid); 
используем где-то:

PHP код:
format(string10"%d"Primer(playerid)); 
Reply
#5

PHP код:
SetTimerEx("Start"2000false"i"playerid);
forward Start(playerid);
public 
Start(playerid)
{
    
GivePlayerWeapon(playerid229999);
    
SetPlayerVirtualWorld(playerid0);
    
Go[playerid] = true;
    
SetPlayerArmedWeapon (playerid,0);
    if(
Freeze == true)
    {
        
TogglePlayerControllable(playeridfalse);
    }
    for(new 
0MAX_PLAYERSx++)
    {
        if(
GetPlayerState(x) == PLAYER_STATE_SPECTATING && gSpectateID[x] == playerid)
        {
            
SetTimerEx("publicOwe"400false"ii",x,playerid);
        }
    }
    return ?;

Вот тут получается мы ничего не возвращаем так?
P.s: Толком не понял объяснение выше. Ты бы еще описал бы подробно.
Reply
#6

Ничего не надо выводить, можно вообще убрать.
Reply
#7

Возвращает указанное значение и останавливает выполнение определенной ветви кода.

PHP код:
new value random(1);
return 
value
Удобно использовать в функциях, с помощью которых необходимо получать определенные значения и использовать их в нужном месте.
Reply
#8

return сама по себе никогда ничего не может возвращать. Возвращать результат могут функции или колбеки. return сообщает только о том что в данном месте нужно прервать дальнейшую обработку кода и вернуть результат который написан через пробел. Результатом будет то что ты туда написал return 1/return 0, истина или лож соответственно, или результат выполнения функции, обработанная строка или массив, не рекомендуется в pawn.

И да, если хотите знать больше, вам стоит пойти прочитать основы программирования.
Reply
#9

Quote:
Originally Posted by Stepashka
Посмотреть сообщение
return сама по себе никогда ничего не может возвращать. Возвращать результат могут функции или колбеки. return сообщает только о том что в данном месте нужно прервать дальнейшую обработку кода и вернуть результат который написан через пробел. Результатом будет то что ты туда написал return 1/return 0, истина или лож соответственно, или результат выполнения функции, обработанная строка или массив, не рекомендуется в pawn.

И да, если хотите знать больше, вам стоит пойти прочитать основы программирования.
То есть не рекомендуется делать так?:

pawn Код:
stock Test(number)
{
new text[10];
switch(number)
{
case 1:text="Text 1...";
case 2:text="Text 2...";
case 3:text="Text 3...";
}
return text;
}
Reply
#10

Quote:
Originally Posted by Maikkk
Посмотреть сообщение
То есть не рекомендуется делать так?:

pawn Код:
stock Test(number)
{
new text[10];
switch(number)
{
case 1:text="Text 1...";
case 2:text="Text 2...";
case 3:text="Text 3...";
}
return text;
}
Только если точно знаешь, что стэк не будет переполнен.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)