f#で実行する必要のあるコマンドの文字列[]を繰り返し実行すると、各コマンドは新しいコマンドを実行して次の関数に渡すマップを生成します。書式設定f#の複合関数f#
コマンドは正しく動作しますが、読み込みには大型で扱いにくいです。私は、パイプ構文を使用してこれらの複合関数を順序付け/整形するより良い方法があると信じています。それを動作させるように見えることはできません。
私のコマンドは次のとおりです。
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マップをいただければ幸いです - >マップ+ X
作成する機能の定義、または少なくともそれらの種類を分けてください。 –
すべての関数と変数の型を含めるように私の答えを編集しました –