Table of Contents
haskell で ruby の split や PHP の explode にあたるようなものを考えました。
背景
haskell を使ったことがなく、使う場面もなかなかないので CodeIQ で使ってみようと思ったものの、 「入力を受け取るにはどうすればいいんだ?」という疑問にぶちあたり、 split する方法を考えました。
Haskell には Data.List.Split
モジュール内 に splitOn
という関数があるのですが、 CodeIQ でコンパイルに失敗しました。 Ideone でも コンパイルに失敗しました。 ほかにも関数はあるそうなのですが、うまくいかなかったので自分で考えることにしました。
カンマで分割する方法
下のようになりました。 この方法だと カンマ でのみ区切ります。
任意のデリミタで分割する方法
任意のデリミタを指定できるようにしてみました。 1文字のデリミタでのみ分割可能です。