|
Почему отладчик когда встречает Возврат переходит в конец функции? | ☑ | ||
---|---|---|---|---|
0
kamila0713
04.09.19
✎
11:36
|
Почему отладчик когда встречает Возврат переходит в конец функции? Переменной А не присваивается 10 в данном коде
&НаСервере Функция РаботникПриИзмененииНаСервере(Работник) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ....." Запрос.УстановитьПараметр("Работник", Работник); ВыборкаДетальныеЗаписи = Запрос.Выполнить().Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Возврат ВыборкаДетальныеЗаписи.Должность; КонецЦикла; А=10; КонецФункции &НаКлиенте Процедура РаботникПриИзменении(Элемент) Объект.Должность = РаботникПриИзмененииНаСервере(Объект.Работник); КонецПроцедуры |
|||
1
Ёпрст
04.09.19
✎
11:39
|
(0) :))))))))))))))))))))))))
а с какой радости, после возврата, должно еще что-то выполнятся ?! |
|||
2
spiller26
04.09.19
✎
11:40
|
(1) Действительно.
|
|||
3
spiller26
04.09.19
✎
11:40
|
(0) Вы точно программист?
|
|||
4
Russiagreat
04.09.19
✎
11:41
|
(1) это специальный возврат с продолжением
|
|||
5
Ёпрст
04.09.19
✎
11:42
|
(0)
На вот, почитай СП на ночь: Возврат <Возвращаемое значение> Ключевое слово, которое завершает выполнение функции и возвращает указанное значение в выражение, в котором используется функция. В качестве возвращаемого значения может выступать выражение или переменная, значение которого содержит результат обращения к функции. |
|||
6
GGDots
04.09.19
✎
11:55
|
(0) Возврат (который вовсе и не возврат) который переходит не в конец функции, а в нужное место:
Перейти ~КудаПерейти; ~КудаПерейти: А=10; :)))))))))))))))))))))))))))))) жесть конечно, но прикольно |
|||
7
Вафель
04.09.19
✎
11:57
|
а вот и новое поколеник подрастает
|
|||
8
Kigo_Kigo
04.09.19
✎
12:01
|
А почему КонецФункции завершает функцию а не идет в следующую по списку функцию :))))
|
|||
9
kamila0713
04.09.19
✎
12:01
|
(5) Спасибо
|
|||
10
kamila0713
04.09.19
✎
12:02
|
(3) Я стажер - учусь
|
|||
11
palsergeich
04.09.19
✎
12:03
|
(8) валит гад
|
|||
12
ДенисЧ
04.09.19
✎
12:03
|
(10) Так, может для начала самые осоновы программирования поучить?
|
|||
13
Вафель
04.09.19
✎
12:09
|
(12) так он и учит, только на мисте
|
|||
14
MM
04.09.19
✎
12:09
|
Вообще-то, вопрос имеет смысл, выполнение после Возврат, вполне может сразу уходить в точку вызова подпрограммы. Объяснение переходу на строку КонецПроцедуры(Функции) в том, что так генерируется байт код модуля, в котором каждая подпрограмма имеет лишь одну настоящую точку выхода.
|
|||
15
Windyhead
04.09.19
✎
12:35
|
Давно пора сделать оператор "ПопыткаВозврат" для таких конструкций ;)
... Пока ВыборкаДетальныеЗаписи.Следующий() Цикл ПопыткаВозврат ВыборкаДетальныеЗаписи.Должность; КонецЦикла; ... И если принимающая сторона не довольна полученным результатом выполнение продолжается с той той точки откуда пытались вернуть )) |
|||
16
Йохохо
04.09.19
✎
12:38
|
(15) такое реализовано на прямоходящих без перьев
|
|||
17
Russiagreat
04.09.19
✎
12:54
|
(13) Или она?
|
|||
18
vis_tmp
04.09.19
✎
12:56
|
(13)Совершенно верно.
В других средах разработки "возврат" сразу возвращает в точку вызова. |
|||
19
Smile 8D
04.09.19
✎
13:43
|
(14) Только вы почему-то взяли половину вопроса. Вопрос целиком звучал как "Почему уходит в конец и переменной не присваивается значение", а не "Почему уходит в конец, а не в точку вызова" )
|
|||
20
Cyberhawk
04.09.19
✎
13:45
|
(7) Для кого это плохо, а для кого хорошо, и в каких перспективах?
|
|||
21
unbred
04.09.19
✎
13:49
|
(15)> И если принимающая сторона не довольна полученным результатом выполнение продолжается с той той точки откуда пытались вернуть ))
вход в рекурсию . |
|||
22
kamila0713
05.09.19
✎
08:42
|
Я тормознул, с кем не бывает. "Забыл", что у меня функция. Сидят программисты с 7-летним опытом и усмехаются над новичком...
|
|||
23
Fish
05.09.19
✎
08:44
|
(22) Ты удивишься, но в процедуре тоже можно сделать возврат.
|
|||
24
MM
05.09.19
✎
08:56
|
(15), (21) А это, в общем-то, и не шутка. В питоне есть такое ключевое слово Yield. https://habr.com/ru/post/132554/
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |