Директива компилятора F # для символа не определено - PullRequest
5 голосов
/ 21 февраля 2011

Есть ли способ указать, что символ не должен быть определен в директиве F # #if?Примерно так:

#if not COMPILED
// do script stuff here
#endif

Хотя вышеизложенное является синтаксической ошибкой.То же самое достигается с помощью

#if COMPILED
#else
// do script stuff here
#endif

, но мне интересно, есть ли более аккуратный способ?

(правка: я спрашиваю об общем случае, а не о конкретном случае скомпилированного / сценария)Извините, я забыл упомянуть об этом с самого начала.)

Ответы [ 3 ]

5 голосов
/ 21 февраля 2011

Нет, нет более аккуратного пути, согласно MSDN

4 голосов
/ 21 февраля 2011

Я бы изменил семантику символа.

#if SCRIPT
    // do script stuff here
#endif
0 голосов
/ 21 мая 2015

Для тех, кто задает этот вопрос, ищет запущенный интерактивный режим или скомпилированный исполняемый файл:

#if INTERACTIVE
#r "YOUR_REFERENCE_HERE.dll"
#endif

//your code here ...  

#if INTERACTIVE
#else
[<EntryPoint>]
#endif
let main args  =
  //you code here ... 
  0 

#if INTERACTIVE
main null |> ignore
#endif
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...