powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Конструкция if...then...else в FB2.1. Баг или Фича.
19 сообщений из 19, страница 1 из 1
Конструкция if...then...else в FB2.1. Баг или Фича.
    #39249378
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Столкнулся с непоняткой (понимаю, что FB2.1 пройденный этап). Но всё же. Вот такая тестовая хранимка:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
create or alter procedure TEST_PROCEDURE
returns (
    RESULT numeric(1,0))
as
declare variable COUNT0 integer;
begin

  result = 0 ;
  count0 = 2 ;
  if (count0>10) then
    if (count0=15) then
      result = 2 ;
  else
    result = 1 ;

  suspend ;
end


Результат выполнения - 0.
Если второй if ограничить begin...end:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
  result = 0 ;
  count0 = 2 ;
  if (count0>10) then
    begin
      if (count0=15) then
        result = 2 ;
    end
  else
    result = 1 ;


, то всё путём. Это баг, фича или надо запомнить?
...
Рейтинг: 0 / 0
Конструкция if...then...else в FB2.1. Баг или Фича.
    #39249389
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KreatorXXIЭто баг, фича или надо запомнить?
Это стандартное поведение любого языка: относить else к ближайшему if. Поскольку телепатии
- нет.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Конструкция if...then...else в FB2.1. Баг или Фича.
    #39249429
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, я перегрелся. Но в своё оправдание - во многих других языках требуется явное окончание if. Привык к сишному синтаксису.
...
Рейтинг: 0 / 0
Конструкция if...then...else в FB2.1. Баг или Фича.
    #39249446
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KreatorXXI,

и где же ты в сишном синтаксисе увидел явное окончание if. Ни с чем не путаешь? {} не считается это аналог begin...end
...
Рейтинг: 0 / 0
Конструкция if...then...else в FB2.1. Баг или Фича.
    #39249494
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KreatorXXIНо в своё оправдание - во многих других языках требуется явное окончание if. Привык к сишному синтаксису

Кхм. Во многих других - это где? Из известных мне по синтаксису ЯП явное окончание if-a есть только в bash.
...
Рейтинг: 0 / 0
Конструкция if...then...else в FB2.1. Баг или Фича.
    #39249495
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miwaonlineВо многих других - это где?
Это всякая скриптовая фигня типа LUA.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Конструкция if...then...else в FB2.1. Баг или Фича.
    #39249707
Фотография Tonal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovmiwaonlineВо многих других - это где?
Это всякая скриптовая фигня типа LUA.

Почему только скриптовых? Ада же !

А в http://erlang.org/doc/reference_manual/expressions.html] erlang так вовсе сопоставление с образцом, так что никаких неоднозначностей нет по синтаксису. :)
...
Рейтинг: 0 / 0
Конструкция if...then...else в FB2.1. Баг или Фича.
    #39249759
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И тут они пошли мериться достоинствами...
...
Рейтинг: 0 / 0
Конструкция if...then...else в FB2.1. Баг или Фича.
    #39249827
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисKreatorXXI,

и где же ты в сишном синтаксисе увидел явное окончание if. Ни с чем не путаешь? {} не считается это аналог begin...end

Я это и имел в виду. Как правило, должно быть либо жёстко begin...end, либо if...end if. В каком ещё языке можно написать только один if?
...
Рейтинг: 0 / 0
Конструкция if...then...else в FB2.1. Баг или Фича.
    #39249836
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KreatorXXIВ каком ещё языке можно написать только один if?MSX Basic, например
...
Рейтинг: 0 / 0
Конструкция if...then...else в FB2.1. Баг или Фича.
    #39249838
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KreatorXXI,

да почти во всех. Например в Pascal и всех си-подобных языках (C, C++, Java, PHP, JavaScript ...). Pascal не требует обязательного begin..end, а си-подобные языки не требует обязательного {} после if.
PL/SQL оракла - это ада-подобный язык, в котором как раз есть end if. Наш PSQL больше похож на Pascal.
...
Рейтинг: 0 / 0
Конструкция if...then...else в FB2.1. Баг или Фича.
    #39249844
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

Только если после THEN и ELSE только один оператор. В отличие от!
...
Рейтинг: 0 / 0
Конструкция if...then...else в FB2.1. Баг или Фича.
    #39249860
stelvic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В питоне операторов может быть больше одного, при этом операторные скобки не требуются. :)
...
Рейтинг: 0 / 0
Конструкция if...then...else в FB2.1. Баг или Фича.
    #39249870
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stelvic,

питон это позиционно зависимый язык, заставляющий определённым образом форматировать код.
...
Рейтинг: 0 / 0
Конструкция if...then...else в FB2.1. Баг или Фича.
    #39249938
Фотография alex_p_n
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miwaonlineKreatorXXIНо в своё оправдание - во многих других языках требуется явное окончание if. Привык к сишному синтаксису

Кхм. Во многих других - это где? Из известных мне по синтаксису ЯП явное окончание if-a есть только в bash.

А как же эпичное КонецЕсли в 1С? :)
...
Рейтинг: 0 / 0
Конструкция if...then...else в FB2.1. Баг или Фича.
    #39249961
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex_p_n,

Оно вроде из VBA растет с евойным "End if"...
...
Рейтинг: 0 / 0
Конструкция if...then...else в FB2.1. Баг или Фича.
    #39249982
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в 1С можно несколько веток:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Если А=1 Тогда

ИначеЕсли А=2 Тогда

ИначеЕсли А=3 Тогда

Иначе

КонецЕсли;
...
Рейтинг: 0 / 0
Конструкция if...then...else в FB2.1. Баг или Фича.
    #39250276
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Naf> в 1С можно несколько веток:

Это один-в-один из Басика.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Конструкция if...then...else в FB2.1. Баг или Фича.
    #39250277
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KreatorXXI> Как правило ...
KreatorXXI> В каком ещё языке

Ей-Богу, откуда только такие берутся.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Конструкция if...then...else в FB2.1. Баг или Фича.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]