Выполнение F # скриптов - PullRequest
       28

Выполнение F # скриптов

12 голосов
/ 17 марта 2010

Я пытаюсь попрактиковаться в F #, написав небольшие консольные сценарии на F # вместо моего обычного метода написания сценариев оболочки / командных файлов. В настоящее время я запускаю их, используя "fsi script.fsx [args]". Есть ли способ, которым я могу связать эти файлы fsx с fsi, чтобы я мог запускать их напрямую, как "script.fsx [args]"?

Ответы [ 3 ]

8 голосов
/ 18 марта 2010

Да, это возможно.

Здесь есть два ключа:

  1. Вам необходимо привязать приложение для выполнения к расширению ".fsx". Точный способ сделать это может немного отличаться в зависимости от версии операционной системы (в прошлом я делал это только путем непосредственного редактирования реестра, поэтому я не могу предоставить здесь общее решение); убедитесь, что команда, которая должна быть выполнена, содержит аргументы сценария (как %*), поэтому запись оболочки \ open \ command в реестре для привязки должна выглядеть как

    "c:\Program Files\FSharp-1.9.9.9\bin\fsi.exe" "@%1" %*

    Подробнее см. Ответ Грэдбота.

  2. Возможно, вы захотите добавить расширение, которое вы хотите запустить при выполнении сценария (в данном случае «.fsx»), к переменной среды PATHEXT, чтобы CMD.exe мог найти сценарий даже без указания его расширения. Предупреждение: если вас беспокоит безопасность вашей системы, пересмотрите этот шаг - тот факт, что VBScripts зарегистрированы в Windows XP по умолчанию и более старых системах для предоставления аналогичной функции, использовался в прошлом вирусописателями (я не знаю если это все еще верно в Vista или Windows 7).
4 голосов
/ 17 марта 2010

Поскольку ответов пока нет, я постараюсь превратить свой предыдущий комментарий в ответ с более подробной информацией.

Я только что попытался создать стандартную ассоциацию Windows для *. Fsx файлов, чтобы открыть их автоматически в fsi.exe , и это работает без проблем - при открытии fsx file, он запускает F # Interactive и автоматически оценивает содержимое файла. Это соответствует выполнению команды:

> fsi.exe test.fsx

Однако я думаю, что изучать F # намного проще, используя F # Interactive из Visual Studio. Даже если у вас нет лицензии, вы можете использовать Visual Studio Shell с бесплатным плагином F # . Я думаю, что SharpDevelop также обеспечивает аналогичную интеграцию (но, вероятно, не с некоторыми ограничениями).

Самый простой способ начать - создать новый "F # Script" ( Файл -> Новый -> Файл ... ), а затем начать писать некоторый код (в различном порядке). Затем вы можете выбрать некоторую часть кода и оценить ее в интерактивном окне F #, набрав [Alt] + [Enter]. Сначала вам нужно открыть интерактивное окно F #, что можно сделать с помощью [Ctrl] + [Alt] + [F], или вы можете найти его в пункте меню Вид -> Другие Windows .

Я думаю, что большинство веб-трансляций F # используют F # Interactive таким образом, поэтому, если вы посмотрите на некоторые из них, вы должны получить хорошее представление о том, как их использовать. Посмотрите, например, на Как мне? видео на www.fsharp.net или F # видео на канале 9 .

1 голос
/ 17 марта 2010

Вот описание установки ассоциации в Windows 7.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...