Имя: Пароль:
1C
1С v8
аналог COALESCE в 1С
0 bolero
 
21.11.19
19:43
** куплю СП, недорого

ткните носом

Пишу:

Если знач1 <> Неопределено Тогда
  знач = знач1;
ИначеЕсли знач2 <> Неопределено Тогда
  знач = знач2;
Иначе
  знач = знач3;
КонецЕсли;


Это долго и спагетти. Хочу знач = COALESCE(знач1, знач2, знач3);
или знач = firstof(знач1, знач2, знач3);

Есть же функция встроенного языка для этого. Как называется?
1 RomanYS
 
21.11.19
19:45
Нет. Напиши
2 bolero
 
21.11.19
19:47
(1) дыйоп, пойду в фузине поищу
3 RomanYS
 
21.11.19
19:49
(2) там три строчки
4 bolero
 
21.11.19
19:51
(3) на неопределенное количество аргументов?
5 Bro
 
21.11.19
20:10
(2) OVERRIDE a,b,c
6 Bro
 
21.11.19
20:11
(4) да
7 АНДР
 
21.11.19
20:13
В БСП искал!? ;)
8 Bro
 
21.11.19
20:13
Но вообще мне казалось что в 1с тоже есть. ЕСТЬНУЛЛ или что то типа того.
9 Ёпрст
 
21.11.19
20:14
(0)
?(,,)
10 Ёпрст
 
21.11.19
20:14
(8) COALESCE  нету, делают через обычный case
11 H A D G E H O G s
 
21.11.19
20:20
Слава яйцам, что в 1С нет этой херни.
12 H A D G E H O G s
 
21.11.19
20:21
У меня стойкая ненависть ко всякому п-дскому сахару еще со времен втыкания в C++. Чего и вам советую.
13 Bro
 
21.11.19
20:25
(12) ну я также про замыкания и лямбды думал. Но когда немного попишешь на богомерзком джаваскрипте, а потом и поюзаешь их в нормальных типизированных языках, уже без них как то напрягает :(
14 Asmody
 
21.11.19
20:51
(12) ты не писал на функциональных языках?
15 H A D G E H O G s
 
21.11.19
20:59
(14) Что это?

Ну на самом деле я загуглил и ответ - нет.
16 NorthWind
 
21.11.19
20:59
(1) красиво не получится - пользовательских функций с переменным числом параметров в 1С, в отличие от Си, тоже нету.
17 NorthWind
 
21.11.19
21:00
можно, конечно, использовать параметры по умолчанию и сделать достаточно большое их число, но тогда спагеттина просто будет внутри функции