文字列に数字だけが含まれているかどうかを調べるいい方法を見つけようとしています。これは私の努力の結果であるが、それは本当に冗長なようだ:例えばF#文字列に数字だけが含まれているかどうかを調べる
let isDigit c = Char.IsDigit c
let rec strContainsOnlyNumber (s:string)=
let charList = List.ofSeq s
match charList with
| x :: xs ->
if isDigit x then
strContainsOnlyNumber (String.Concat (Array.ofList xs))
else
false
| [] -> true
私が戻って文字列にし、リストをchar型とする文字列を変換する必要があることは本当に醜いようです。 もっと良い解決策を見つけられますか?
この宿題はありますか?いずれにしても、私は 'Seq.forall'を使います。 – kvb
うわー、それは宿題だと言いましょうが、実際はC#から切り替えるだけです。 Seq.forall(fun elem - > isDigit elem) "12345"これはうまく動作しています。 – Zeta
'' Seq.forall Char.IsDigit "12345"に短縮できます。中間の 'isDigit'関数を必要としません。 –