F#関数の作成に苦労しています。私は(せいぜい)F#の初心者であり、実際にいくつかの助けを借りることができます。私はこれを1週間注ぎ込んだので、あなたが提供できるどんな助けもかけがえのないものです!
機能目標:
- 入力:a
List
およびastring
- 文字列を次のように修正します
Proper Case
- 文字列をリスト内の各項目と比較します
- 一致したアイテムをリストアイテムに置き換えます
例:
- 文字列="scでの米ドル"
- リスト=["NIF"; "PF"; "PS"; "SC"; "私たち"; "アメリカ合衆国"; "米ドル"]
機能アクション:
- 文字列をProperCase="米ドルのsc"に設定します
- 文字列をリスト内の各項目と比較し、必要に応じて置き換えます
- 「私たち」は「私たち」になります
- 「sc」は「SC」になります
- 最終結果は「SCの米ドル」です。
これは私がこれまでに持っているものです。
let myList = ["NIF"; "PF"; "PS"; "SC"; "US"; "USA"; "USD"]
let FixAccronyms aList fixString=
aList |> List.iter
(fun listItem ->
match listItem with
| fixString -> printfn "%s, %s" listItem fixString
| _ -> printf "%s" "" |> ignore)
FSIの場合:
FixAccronymsmyList"scの米ドル";;
この関数はリストを反復処理しますが、fixStringと一致する場所だけでなく、リスト内のすべての項目を出力します。それがうまくいったと仮定すると、文字列の一部をパターンマッチングする方法も、文字列内で検索して置換する方法もわかりません...
FSIの結果
val myList2 : string list = ["NIF"; "PF"; "PS"; "SC"; "US"; "USA"; "USD"]
val FixAccronyms2 : aList:string list -> fixString:'a -> unit
>FixAccronyms2 myList2 "the us dollar in sc";;
NIF, NIF
PF, PF
PS, PS
SC, SC
US, US
USA, USA
USD, USD
val it : unit = ()
前もって感謝します!