Имя: Пароль:
1C
1С v8
?( - Как действует?
🠗 (Волшебник 04.06.2015 14:52)
0 Skif_asu
 
04.06.15
14:49
как действует?
1 Волшебник
 
модератор
04.06.15
14:50
читай мануал
2 Лефмихалыч
 
04.06.15
14:50
? (вычислить выражение по условию)
? (вычислить выражение по условию)
Синтаксис:
    ?(<Логическое выражение>, <Выражение 1>, <Выражение 2>)

Параметры:
    <Логическое выражение>
    Логическое выражение, результат вычисления которого определяет одно из результирующих выражений, которые будут вычислены. Если результат его вычисления Истина, то будет вычисляться <Выражение 1>. Если результат Ложь – то <Выражение 2>.

    <Выражение 1>
    Результирующее выражение, которое будет вычисляться, если результат логического выражения Истина.

    <Выражение 2>
    Результирующее выражение, которое будет вычисляться, если результат логического выражения Ложь.

Возвращаемое значение:
Результат вычисления одного из результирующих выражений.

Описание:
Позволяет вычислить одно из двух заданных выражений в зависимости от результата вычисления логического выражения.
3 Asmody
 
04.06.15
14:50
иногда не так, как хочется
4 GROOVY
 
04.06.15
14:52
?(Чё?, Да, Нет)
5 Волшебник
 
модератор
04.06.15
14:53
(2)(3)(4) Вы святые! Святые!
6 Asmody
 
04.06.15
14:54
в одном старом языке программирования писали так:

(А > Б) true?: [ some ] false?: [ else ].
7 Asmody
 
04.06.15
14:55
узнай язык по синтаксису
8 Ненавижу 1С
 
гуру
04.06.15
14:55
(6) да, интересно почему Си-шный формат оператора не взяли?
9 aka AMIGO
 
04.06.15
14:55
(5) я тож с известной долей святости.. только сегодня применил оператор в формуле, для вывода в табличку.. нормально получилось

ЗЫ. нимб над головой пощупал - что-то не видно :)
10 Лефмихалыч
 
04.06.15
15:04
(8) потому, что интерпретатору вот это ?() объяснить проще, чем вот?это:пляцтво
11 Лефмихалыч
 
04.06.15
15:04
(5) мне просто скучношопестец
12 Asmody
 
04.06.15
15:15
(8) Потому что ?(,,) — это функция, а a?b:c — это тернарный, сука, оператор.
Кстати, если не ошибаюсь, в 1С ?() — единственная функция, которая не вычисляет свои аргументы при передаче, поскольку является реализована не как функция, а как управляющая конструкция. Еще со времен 7.7 я с ее помощью "ленивые" условия писал. Выходило многоэтажно, но эффективно.
13 Ненавижу 1С
 
гуру
04.06.15
17:24
(12) и не функция это, а тоже тернарный оператор
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.