Имя: Пароль:
1C
1С v8
Объясните новичку, что значит ключевое слово Возврат
0 Eva_J
 
11.05.19
12:52
Почему в конце некоторых процедур или функций есть возврат, в некоторых нет. В чем различие?
1 user-ok
 
11.05.19
12:54
Мужыг, Ева, ты прогулял семестр и пытаешься наверстать?
2 vde69
 
11.05.19
12:55
"Возврат" - это окончание выполнения процедуры/функции, то есть это выход из нее, код после этого оператора не выполняется...
3 mistеr
 
11.05.19
13:08
(2) + Также возврат значения из функции (поэтому в конце).
4 fisher
 
11.05.19
16:11
Для процедур это необязательное ключевое слово, производящее "досрочное" завершение работы процедуры. Поэтому возврат в конце процедуры смысла не имеет. Функции же умеют возвращать значения таким образом, что функции можно использовать в выражениях. Для этого используется ключевое слово Возврат с обязательным указанием возвращаемого значения. Можно ничего не возвращать, тогда функция вернет Неопределено. Но это плохой стиль. Функции создают как раз для того, чтобы они что-то возвращали (в противном случае создают процедуру). Поэтому чаще всего в конце функции присутствует ключевое слово Возврат (естественно, могут быть и "досрочные" возвраты).
Вообще, разделение на процедуры и функции довольно формальное - для удобства. В ряде языков разделения нет - есть только функции.
5 Кодер
 
11.05.19
16:24
А что, так можно было - вместо Ctrl+F1 попросить вас разжевать первый том тов. Кнута???
6 fisher
 
11.05.19
16:25
Не завидуй
7 Лефмихалыч
 
11.05.19
19:25
этот метод возвращает дебиторскую задолженность
8 Лефмихалыч
 
11.05.19
19:26
а, если написать наоборот, то - кредиторскую
9 Провинциальный 1сник
 
11.05.19
21:23
(4) "Вообще, разделение на процедуры и функции довольно формальное - для удобства. В ряде языков разделения нет - есть только функции."
Вообще-то, разделение не формальное, а концептуальное. При хорошем стиле программирования функции не имеют права на побочные эффекты, а для процедуры побочный эффект - главная задача. Использование строгих функций без побочных эффектов облегчает работу компилятора и создает верифицируемый код. К СОЖАЛЕНИЮ, во многих (практически во всех) языках это различие стерто, и по сути процедура - всего лишь функция не возвращающая значение.
10 Garykom
 
гуру
11.05.19
21:55
Процедура это Функция которая не умеет возвращать значения.

Во многих ЯП нет процедур, есть только функции, причем в некоторых количество возвращаемых значений может быть любым от 0 до сколько надо.
11 Провинциальный 1сник
 
11.05.19
22:12
(10) В том же 1с можно легко возвращать несколько значений - через структуру или именованный список.
12 Провинциальный 1сник
 
11.05.19
22:12
+(11) И это, кстати, намного красивее и удобнее, чем менять параметры..
13 Garykom
 
гуру
11.05.19
22:20
(11) Лишние действия по заталкиванию в структуру и извлечению.

(12) Типы возвращаемых значений и их наличие в структуре не контролируются автоматом
14 Провинциальный 1сник
 
11.05.19
22:24
(13) Лишние, зато отладка одно удовольствие. А типы и в параметрах не контролируются, если мы про 1с.
15 Garykom
 
гуру
11.05.19
22:32
(14) Для меня удовольствие когда отладка не нужна, ибо синтаксис не дает допускать глупые ошибки типа повторного использования переменных с записью значений других типов и т.д.

Количество говнокода меньше, хотя согласен что печатать больше ибо еще типы надо указывать.

Но сча интеллесенсе (подстрочные подсказки по первым буквам) есть в любых практически ide и даже умных редакторах, так то не сильно тормозит ваяние.
16 Провинциальный 1сник
 
11.05.19
22:34
(15) Кроме удобства отладки четкое разделение входа и выхода (без модификации параметров) облегчает заимствование функций для других проектов. Потому что если ты знаешь что функция "чистая" - то тебе не надо думать ни о чем, кроме как о её вызове. Синус же не портит данные в базе.
17 Garykom
 
гуру
11.05.19
22:36
(16) Прикольно что в голанге все параметры в функциях передаются по значению а не по ссылке по умолчанию.
Это отличие от 1С и множества прочих ЯП, тут если про это помнишь тоже кол-во ошибок и отладки минимально.
18 andrewalexk
 
11.05.19
23:51
(4) :) в смысле необязательное? у тебя где-то в процедуре не отрабатывает возврат? и ты молчал?
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший