Clojure:生成所有键盘可键入的字符 上下文
我想生成可以由以下方式生成的所有字符: 开封便笺簿 按键盘上的单个键 按住shift键并按键盘上的单个键 我目前拥有的: 然后手动添加更多字符,如~!@$%^&*_+{}|:?,./;'[]\ 问题 有没有更优雅的方法 编辑Clojure:生成所有键盘可键入的字符 上下文,clojure,Clojure,我想生成可以由以下方式生成的所有字符: 开封便笺簿 按键盘上的单个键 按住shift键并按键盘上的单个键 我目前拥有的: 然后手动添加更多字符,如~!@$%^&*_+{}|:?,./;'[]\ 问题 有没有更优雅的方法 编辑 是的,我指的是美国Qwerty键盘。使用以下地图表单将生成您想要的字符 (map #(str (char %)) (range 32 127)) 使用以下地图表单将生成所需的字符 (map #(str (char %)) (range 32 127)) 如果你看a,你想
是的,我指的是美国Qwerty键盘。使用以下地图表单将生成您想要的字符
(map #(str (char %)) (range 32 127))
使用以下地图表单将生成所需的字符
(map #(str (char %)) (range 32 127))
如果你看a,你想要的所有字符似乎都在33到127之间。因此,获取所有这些字符序列的最简单方法是将该范围转换为字符
(map char (range 33 127))
但是,如果您试图验证字符串是否仅包含这些字符,请使用如下函数:
(defn valid-char? [c]
(let [i (int c)]
(and (> i 32) (< i 127))))
如果你看a,你想要的所有字符似乎都在33到127之间。因此,获取所有这些字符序列的最简单方法是将该范围转换为字符
(map char (range 33 127))
但是,如果您试图验证字符串是否仅包含这些字符,请使用如下函数:
(defn valid-char? [c]
(let [i (int c)]
(and (> i 32) (< i 127))))
你说的是标准的美国QWERTY键盘,对吧?@Jeremy:是的,美国QWERTY。吹毛求疵,但你指的是标准的美国布局,而不是键盘。标准的美国QWERTY键盘完全可以配置成,比如说,按F12键生成,比如说,欧元符号。你说的是标准的美国QWERTY键盘,对吗?@Jeremy:是的,美国QWERTY。吹毛求疵,但你指的是标准的美国布局,而不是键盘。一个标准的美国QWERTY键盘完全可以配置成,比如说,按F12键生成,比如说,欧元符号。