У меня есть рекурсивная функция в f #, которая выполняет итерацию строки [] команд, которые нужно запустить, каждая команда запускает новую команду для создания карты, которая будет передана следующей функции.форматирование Композитная функция в f #
Команды выполняются правильно, но являются большими и громоздкими для чтения, я считаю, что есть лучший способ упорядочить/форматировать эти составные функции, используя синтаксис труб, однако, исходя из C#, поскольку многие из нас делают для меня жизнь похоже, не может заставить его работать.
моя команда:
let rec iterateCommands (map:Map<int,string array>) commandPosition =
if commandPosition < commands.Length then
match splitCommand(commands.[0]).[0] with
|"comOne" ->
iterateCommands (map.Add(commandPosition,create(splitCommand commands.[commandPosition])))(commandPosition+1)
Ближайший я сумел это углубленными функцию, но это неаккуратно:
iterateCommands
(map.Add
(commandPosition,create
(splitCommand commands.[commandPosition])
)
)
(commandPosition+1)
Возможно ли это переформатировать это в F #? Из того, что я прочитал я считаю, это возможно, любая помощь будет принята с благодарностью
The command/variable types are:
commandPosition - int
commands - string[]
splitCommand string -> string[]
create string[] -> string[]
map : Map<int,string[]>
и конечно map.add карты -> карта + х
Просьба поделиться определениями функций, которые вы хотите скомпоновать, или, по крайней мере, их типов. –
Я отредактировал свой ответ, чтобы включить типы всех функций и переменных –