gpt4 book ai didi

Clojure:生成所有键盘可输入字符

转载 作者:行者123 更新时间:2023-12-04 18:20:52 25 4
gpt4 key购买 nike

语境

我想生成可以通过以下方式生成的所有字符:

  • 打开记事本
  • 按键盘上的一个键
  • 按住 shift + 按键盘上的单个键

  • 我目前拥有的:
    (concat (range (int \a) (int \z))
    (range (int \A) (int \Z))
    (range (int \0) (int \9)))

    然后手动添加更多字符,例如 ~!@#$%^&*()_+{}|:"<>?,./;'[]\

    问题

    有没有更优雅的方式来做到这一点?

    编辑

    是的,我指的是美国 Qwerty 键盘。

    最佳答案

    如果您查看 US ASCII chart ,看来你想要的所有字符都在(range 33 127)内.因此,获取所有这些字符的序列的最简单方法是将该范围转换为字符。

    (map char (range 33 127))

    但是,如果您尝试验证字符串是否仅包含这些字符,请使用如下函数:
    (defn valid-char? [c]
    (let [i (int c)]
    (and (> i 32) (< i 127))))

    然后您可以将它与 every? 一起使用验证字符串:
    user=> (every? valid-char? "hello world")
    true
    user=> (every? valid-char? "héllo world")
    false

    关于Clojure:生成所有键盘可输入字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10712645/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com