Сравнить символ со строкой в Elm

#elm

#elm

Вопрос:

Я хотел бы перебрать символы строки и посмотреть, содержится ли каждый из них в другой строке. Однако строка.ToList возвращает список символов, а не строк, что запрещено функцией String.contains . Передача Char в toString не помогает, есть ли другой способ достичь этой цели, или мне просто нужен совсем другой подход?

 > String.contains (toString 'a') "asdf"
False : Bool
  

Ответ №1:

Используйте String.fromChar для преобразования символа в строку.

 String.fromChar 'a' -- "a"
String.contains (String.fromChar 'a') "asdf" -- True
  

Ответ №2:

Используйте списки символов напрямую:

 > standard  = String.toList "asdf"
['a','s','d','f'] : List Char

> candidateGood = String.toList "asd"
['a','s','d'] : List Char

> candidateBad = String.toList "abc"
['a','b','c'] : List Char

> List.all (x -> List.member x standard) candidateGood
True : Bool

> List.all (x -> List.member x standard) candidateBad
False : Bool