Other Nim solutions.
import sequtils, strutils
func isPangram*(phrase: string): bool =
{'a'..'z'}.allIt it.in(phrase.toLower)
Other Python solutions.
import string
def is_pangram(sentence: str):
return set(sentence.lower()) >= set(string.ascii_lowercase)
Other Elm solutions.
module Pangram exposing (isPangram)
alphabet : List String
alphabet =
[ "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z" ]
isPangram : String -> Bool
isPangram sentence =
let
sanitized =
String.toLower sentence
sentenceContainsLetter letter =
String.contains letter sanitized
in
List.all sentenceContainsLetter alphabet
Other Haskell solutions.
module Pangram
( isPangram
) where
import qualified Data.Char as Char
import Data.List
isPangram :: String -> Bool
isPangram = null . (['a' .. 'z'] \\) . map Char.toLower
Other Roc solutions.
module [isPangram]
isPangram : Str -> Bool
isPangram = \sentence ->
chars =
sentence
|> Str.toUtf8
|> List.map toLowerCase
|> Set.fromList
List.all alphas \char -> Set.contains chars char
alphas : List U8
alphas = List.range { start: At 'a', end: At 'z' }
toLowerCase : U8 -> U8
toLowerCase = \char -> if char >= 'A' && char <= 'Z' then char + 32 else char