Я пытаюсь практиковать свой F# путем писания мелко консольных сценариев в F# вместо моего обычного метода записи сценариев/пакетных файлов оболочки. Я в настоящее время выполняю их использующий "fsi script.fsx [args]". Существует ли способ, которым я могу связать эти fsx файлы с fsi так, чтобы я мог выполнить их непосредственно как "script.fsx [args]"?
Да, это возможно.
Здесь есть два ключа:
Вам необходимо привязать приложение для выполнения к расширению «.fsx». Точный способ сделать это может немного отличаться в зависимости от версии операционной системы (в прошлом я делал это только путем непосредственного редактирования реестра, поэтому я не могу предоставить здесь универсальное решение); убедитесь, что выполняемая команда включает аргументы сценария (как % *
), поэтому запись shell \ open \ command в реестре для привязки должна иметь вид
"c: \ Program Files \ FSharp-1.9.9.9 \ bin \ fsi.exe "" @% 1 "% *
Подробнее см. Ответ Gradbot.
Поскольку пока нет ответов, я попытаюсь превратить свой предыдущий комментарий в ответ с некоторыми подробностями.
Я просто попытался создать стандартную ассоциацию Windows для файлов *. Fsx , чтобы автоматически открывать их в fsi.exe , и это работает без проблем - когда вы открываете ] fsx , он запускает F # Interactive и автоматически оценивает содержимое файла. Это соответствует запуску команды:
> fsi.exe test.fsx
Однако я думаю, что гораздо проще изучить F #, используя F # Interactive из Visual Studio. Даже если у вас нет лицензии, вы можете использовать Visual Studio Shell с бесплатным подключаемым модулем F # . Я думаю, что SharpDevelop также обеспечивает аналогичную интеграцию (но, вероятно, без каких-либо ограничений).
Самый простой способ начать - создать новый «F # Script» ( Файл -> Новый -> Файл ... ), а затем начать писать некоторый код (в отсортированном порядке).Затем вы можете выбрать часть кода и оценить ее в окне F # Interactive, нажав [Alt] + [Enter]
. Сначала вам нужно открыть окно F # Interactive, что можно сделать с помощью [Ctrl] + [Alt] + [F]
или найти его в View -> Other Windows пункт меню.
Я думаю, что большинство веб-трансляций F # используют F # Interactive именно таким образом, поэтому, если вы посмотрите на некоторые из них, вы должны получить хорошее представление о том, как его использовать. Посмотрите, например, видео Как мне? на www.fsharp.net или видео F # на канале 9 .