A pangram is a sentence that contains every single letter of the alphabet at least once. For example, the sentence “The quick brown fox jumps over the lazy dog” is a pangram, because it uses the letters A-Z at least once (case is irrelevant).
Given a string, detect whether or not it is a pangram. Return True if it is, False if not. Ignore numbers and punctuation.
# Detect-Pangram.jl
using Test
"""
检测字符串是否包含所有26个字母
"""
#> "检测字符串是否包含所有26个字母\n"
function is_pangram(str::String)::Bool
# all() 接收 iterator,里面是一个 BitVector
all('a':'z' .∈ lowercase(str))
end
#> is_pangram (generic function with 1 method)
@test is_pangram("The quick, brown fox jumps over the lazy dog!") == true
#> Test Passed
#> Expression: is_pangram("The quick, brown fox jumps over the lazy dog!") == true
#> Evaluated: true == true
## Detect Pangram (全字母短句)
library(tidyverse)
library(magrittr)
#' 检查字符串中是否包含全部的英文字母(忽略大小写)
<- function(string) {
is_pangram # string 中包含的所有字母(小写)
<- string %>%
chars tolower() %>%
str_split("") %>%
unlist() %>%
unique()
# 向量化检查
%in% chars %>%
letters all()
}
library(testthat)
test_that("Example Test Cases", {
<- "The quick, brown fox jumps over the lazy dog!"
pangram expect_equal(is_pangram(pangram), TRUE)
})
#> Test passed 😸
const letters = require("../src/JavaScript/toolkit/CharacterObject").letters;
function isPangram(string) {
// const letters = [...Array(26)].map((_, i) => String.fromCharCode(i + 97));
return letters.every(c => string.toLowerCase().includes(c));
}
console.log(isPangram("The quick, brown fox jumps over the lazy dog!"));
#> true