f#の文字列の母音をどうやって計算しますか?どのようにfの文字列の母音を数えることができます#
let inputText = "sdhkjhsakdnadwqerdsdasefds"
let vowels = ["a";"e";"i";"o";"u"]
let count inputText = Seq.filter ((=) vowels) >> Seq.length
printfn "%A" count
Console.ReadLine() |> ignore
f#の文字列の母音をどうやって計算しますか?どのようにfの文字列の母音を数えることができます#
let inputText = "sdhkjhsakdnadwqerdsdasefds"
let vowels = ["a";"e";"i";"o";"u"]
let count inputText = Seq.filter ((=) vowels) >> Seq.length
printfn "%A" count
Console.ReadLine() |> ignore
let inputText = "sdhkjhsakdnadwqerdsdasefds"
let vowels = ['a';'e';'i';'o';'u']
let isVowel =
fun c -> vowels |> List.contains c
let count =
String.filter isVowel
>> String.length
printfn "%A" (count inputText)
私は文字の代わりに、文字列のリストに母音のリストを変更しました。実際には関数内でinputText
引数を使用する必要があります。また、文字列をフィルタリングする前に文字列に変換する必要があります。そしてあなたの関数への引数としてinputText
を与えなければなりません。関数の引数inputText
と変数inputText
には、名前以外の共通点はありません。
EDIT:>>
で優先メソッドを使用する代わりに、isVowel関数を計算し、countからinputText引数を削除しました。
let proj x =
if Array.contains x [| 'a';'e';'i';'o';'u' |] then 1
else 0
let count (text: string) =
text.ToCharArray()
|> Array.sumBy proj
FSI(F#interactive)を使用していますか? Visual StudioのAlt-EnterまたはVSコードを使用してFSIでコードを実行し、このような問題をより小さな部分で解決できます。はるかに速く学ぶのに役立ちます。 – TheQuickBrownFox