Показать сообщение отдельно
Старый 15.05.2012, 10:26   #1  
kornix is offline
kornix
MCP
MCBMSS
Злыдни
Ex AND Project
 
414 / 146 (5) +++++
Регистрация: 24.02.2009
Адрес: Санкт-Петербург
Job - Интересное наблюдение
Добрый день!

Случайно заметил странное поведение. Создаем такой джоб:
X++:
static void testFunction(Args _args)
{
    boolean check()
    {
        boolean ret = true;
        ;
 
    }
    ;
        
    if(check())
        info(strfmt("true"));
    else
        info(strfmt("false"));
}
При компилляции получаем сообщение "Функция никогда не возвращает значение", но если этот джоб запустить - он работает!

Если бы это был класс, и check() был бы отдельным булевским методом, не возвращающим значение - система всегда вылетала бы в отладчик с сообщением: "Функция никогда не возвращает значение"

Понятно что это не по BestPractice, но я всегда думал что функции внутри методов обрабатываются также, как отдельные методы. Выходит что нет.

Проверял на DAX 4.0
За это сообщение автора поблагодарили: lev (2), S.Kuskov (3), JeS (1), Dark Light (1).