Difference between revisions of "Return/ru"

From Second Life Wiki
Jump to navigation Jump to search
m (color)
m
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
{{Multi-lang}}
{{Multi-lang}}
{{LSL Header/ru}}{{LSLC|||{{#var:lang}}}}{{LSLC|}}{{LSLC|Types||{{#var:lang}}}}{{LSLC|Types}}
{{LSL Header/ru}}{{LSLC|||{{#var:lang}}}}{{LSLC|Types||{{#var:lang}}}}
{{LSLC|Keywords}}
{{LSLC|Keywords||{{#var:lang}}}}


{{#vardefine:name|return
{{#vardefine:name|return
}}{{#vardefine:p_value_desc| Возвращаемое функцией значение или переменная, тип должен быть тем же, что возвращается функцией.
}}{{#vardefine:p_value_desc| Возвращаемое функцией значение или переменная, тип должен быть тем же, что возвращается функцией.
}}{{#vardefine:header_title|{{LSL Param|return}} {{LSL Param|value}};
}}{{#vardefine:header_title|{{return}} {{LSL Param|value}};
}}{{#vardefine:header_text|{{{!}}
}}{{#vardefine:header_text|{{{!}}
{{LSL DefineRow|{{BlueText|type}}|{{value}}|{{#var:p_value_desc}}}}
{{LSL DefineRow|{{BlueText|type}}|{{value}}|{{#var:p_value_desc}}}}
Line 16: Line 16:
}}{{#vardefine:constants_nb|
}}{{#vardefine:constants_nb|
<div id="box">
<div id="box">
<h2>return;</h2>
<h2>{{return}};</h2>
<div style="padding: 0.5em">
<div style="padding: 0.5em">
Используется для преждевременного возврата выполнения в предыдущую область видимости перед достижением окончания функции/события.
Используется для преждевременного возврата выполнения в предыдущую область видимости перед достижением окончания функции/события.
Line 79: Line 79:
}}{{#vardefine:also_tests|
}}{{#vardefine:also_tests|
}}{{#vardefine:location|
}}{{#vardefine:location|
}}{{LSL Generic}}{{LSLC|Flow Control}}
}}{{LSL Generic}}{{LSLC|Flow Control||{{#var:lang}}}}

Latest revision as of 10:56, 21 July 2013

The correct title of this article is return/ru. The initial letter is shown capitalized due to technical restrictions.

return value;

return value;
• type value Возвращаемое функцией значение или переменная, тип должен быть тем же, что возвращается функцией.

Используется для исполнения возврата в предыдущую область видимости вместе со значением.

Функции

Выход из функции и продолжение выполнения скрипта в предыдущей области видимости.

События

Предпосылка скрипта к падению. События не могут возвращать значения. Используйте следующую форму ключевого слова вместо этой.

return;

Используется для преждевременного возврата выполнения в предыдущую область видимости перед достижением окончания функции/события. Нет потребности использовать в конце события или функции, так как предполагается завершение компилятором.

Функции

Выход из функции и продолжение выполнения скрипта в предыдущей области видимости.

События

Выход из событий и удаление из очереди событий. Если есть еще одно событие в очереди - оно срабатывает.

Caveats

Предостережения

  • Есть ошибка в компиляторе и это позволит вам возвращать значение с событиями, которые при конфликте во время выполнения приведут скрипт к падению.
    • Не пытайтесь возвращать значение в области видимости событи - если не хотите получать падения скрипта.

Examples

Примеры <lsl>integer Goodbye() {

   llOwnerSay("Goodbye");
   return 0;

}

Hello() {

   llOwnerSay("Hello");
   return;

}</lsl> <lsl> integer Calc (string cmd, integer a, integer b) {

   // Пользовательская функция была объявлена ​​как возвращающая integer,
   // следовательно каждый возврат функции должен возвращать integer
   if (cmd == "+")    return a + b;
   // Нет нужды здесь в коде 'else', так как предыдущий оператор привел к 'return' при "true"
   if (cmd == "-")    return a - b;
   if (cmd == "*")    return a * b;
   if (cmd == "/")    return a / b;
   // Нужно возвращать значение и здесь, мы не можем опустить окончательного return (возвращения)
   return -1;   

} default {

   state_entry()
   {
       llSay(0, llList2CSV ( [ Calc("+",1,2), Calc ("-",5,3), Calc ("*",3,4), Calc("/",18,6) ] ) );
   }

} </lsl>

See Also

См.также

Ключевые слова

•  jump
•  state