Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
文字列がセットに含まれているかどうかは、次の方法で確認できます。
import qualified Data.Set as S S.member "examplestr"
文字列がセットのメンバーのプレフィックスであるかどうかをテストする関数があるかどうか疑問に思っていました。たとえば、セットのメンバーのいずれかが文字列「ro」で始まるかどうかを調べたい場合、セットに文字列「roller」があれば、関数は True を返します。返信ありがとう
はい、のでtype String = [Char]、使用できますisPrefixOf。
type String = [Char]
isPrefixOf
anyStartsWith :: Eq a => [a] -> Set [a] -> Bool anyStartsWith str set = not . S.empty $ S.filter (isPrefixOf str) set
または、Set折りたたみ式なので、
Set
import qualified Data.Foldable as F anyStartsWith str = F.any (isPrefixOf str)