let csvList startDelim endDelim lst memF =
let listIter (listStr: string) item =
if listStr.Length > 0 then
listStr + "," + (memF item)
else
memF item
startDelim + (List.fold listIter "" lst) + endDelim
let listIntoJsonArray = csvList "[" "]"
let listIntoJsonObject = csvList "{" "}"
let intConverter (item:int) : string =
item.ToString()
let objectConverter (item:SomeObject) : string =
item.value.ToString()
let objects = [{vaue: 12.3}; {vaule: 33.2}]
let ints = [1;2;4]
let o = listIntoJsonObject objects objectConverter
let i = listIntoJsonObject ints intConverter
私はcsvListまたは部分的に適用されるヘルパーlistIntoJsonArrayまたはlistIntoJsonObject genericを作るための魔法のソースを見つけることができないようです。私の関数を汎用化する方法
ありがとうございました。
トリックをしていないようです。私はちょうど私が言語をしっかりと保持しているように感じるとき、それは別の回りを取る。価値の制限をもっと研究する必要があります... Thx。 – akaphenom
@akaphenom:私のオリジナルのソリューションは間違いがありました(私は関数定義にパラメータを追加しましたが、その後csvListに引数として渡しませんでした)、正しく動作するはずです。 F#は野生の獣ですが、それはあまりにもエキサイティングな熟練をもたらし、報酬はそれほど大きくなります:) –