char
特定の文字列と特定の番号のリストを分割する関数を Haskell で作成しようとしています。
これを行うには、splitAt 関数がまさに数値に必要なものですが、この関数で char を指定することはできません。
例えば
splitAt 5 [1,2,3,4,5,6,7,8,9,10]
与える
([1,2,3,4,5],[6,7,8,9,10])
これはまさに、タプルの左側にある 5 で必要なものです。char
しかし、今は aと stringでこれをやりたいと思っています。ただし、2 番目の引数にsplitAt
は and のみを使用します。int
私が欲しい
splitAt 'c' "abcde"
その結果
("abc", "de")
私はの方向に何かを探しています
splitAt (findIndex 'c' "abcde") "abcde"
しかし、関数findIndex
は型の何かをMaybe Int
返しsplitAt
、Int
. 次に、次のことを試しました
splitAt (head (findIndices (== 'c') "abcde")) "abcde"
これは可能な解決策ですが、次を返します
("ab","cde")
タプルの反対側に c を付けます。cに追加できますがsucc
、char が Z の場合の結果はどうなりますか?
簡単に改造する方法はありますか
splitAt (findIndex 'c' "abcde") "abcde"
仕事?