Имя: Пароль:
1C
 
Как функции вернуть несколько значений
, ,
0 vi0
 
03.10.16
05:32
1. Возврат структуры 50% (11)
2. Свой вариант 45% (10)
3. Возврат одного значения и изменение параметров 5% (1)
Всего мнений: 22

Поделитесь, какими способами вы пользуетесь при необходимости возврата функцией нескольких значений. И почему.
2 KSergey1C
 
03.10.16
06:07
список, структура, прочитать что в описании процедуры означает слово "Знач".

Свой вариант
44 ovrfox
 
03.10.16
09:33
Смотря что имеется в виду под вопросом
Если нужно вернуть все перестановки какого -либо множества, то лучше сделать так, чтобы следующая перестановка возвращалась на основании предыдущей без изменения каких либо параметров.
Если нужно вернуть линейный размеры объект - тогда лучше структура (а еще лучше - сам объект)
А если нужно вернуть сто случайных значений от 0 до 1, то лучше всего возвращать массив.
Т.е. что лучше зависит от контекста вопроса больше, чем от самого вопроса.

Свой вариант
45 Лефмихалыч
 
03.10.16
09:43
Если функции надо вернуть несколько РАЗНЫХ значений, не объединенных семантически в какое-то целое, значит у тебя косяк в архитектуре и это две функции, а не одна.

А, если эти значения - это атрибуты какого-то одного объекта, то возвращай структуру да и всё.

Свой вариант
49 Мимохожий Однако
 
03.10.16
10:35
От ситуации зависит. п.1 будет следующим по убыванию

Свой вариант
51 Mort
 
03.10.16
11:45
Функция должна возвращать одно значение. Если даже это структура.

Свой вариант
56 MetaDon
 
03.10.16
11:56
Возврат одного значения и изменение нужных глобальных переменных

Свой вариант
66 Dmitry1c
 
03.10.16
14:22
}{оливар устроили

Свой вариант
76 Nuobu
 
04.10.16
10:08
Вставлю своё имхо:
Когда нужно передавать по ссылке и там менять:
1. Когда меняешь движения, дописываешь данные в таблицу, список.
2. Когда у тебя есть большая структура, которая содержит несколько параметров, которые ты будешь использовать и тебе нужно дополнить её.
3. Когда передаёшь "Отказ" и там меняешь его на Ложь.
4. Когда передаёшь форму и добавляешь на неё свои элементы.
5. Когда передаёшь МенеджерВременных таблиц.

Это то, что смог вспомнить.

Во всех остальных случаях нужно возвращать.

Свой вариант
85 notebug
 
05.10.16
09:34
В зависимости от решаемой задачи

Свой вариант
100 spock
 
05.10.16
11:57
(0) Все зависит от ситуации.
Если нужно "набрать" несколько значений, то Структурой их очень удобно возвращать.
В другой случае, через параметры принимаем значение, и через них же возвращаем (типа по ссылки).

Свой вариант