【发布时间】:2021-01-21 16:34:02
【问题描述】:
pangram 是一个句子,它包含字母表中的每个字母至少一次。例如,句子“The quick brown fox jumps over the lazy dog”是一个 pangram,因为它至少使用了一次字母 A-Z(大小写无关)。我正在尝试创建一个方法,该方法接受一个字符串并返回真或假,如果它是一个 pangram。这是我到目前为止所尝试的。
def pangram?(string)
letters = string.chars.downcase.uniq
letters.uniq.all? {|c| string.count(c)==26}
end
def pangram?(string)
string.downcase
("a".."z").all?{|c| string.count(c) <= 1}
end
有更好的建议吗?提前致谢!
【问题讨论】:
-
在您的第二个示例中,
string.downcase不会更改原始字符串。使用#downcase!。