Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在clojure中从字符映射到数字?_Clojure_Clojurescript - Fatal编程技术网

如何在clojure中从字符映射到数字?

如何在clojure中从字符映射到数字?,clojure,clojurescript,Clojure,Clojurescript,如何在clojure中从字符映射到数字 就像我有一个功能: (defn letter [c] (str (last c))) 如果我输入:user=>字母4R,那么我希望输出为R。如何将字符串值R映射到R?在jvm中,字符不是数字 user> (last "4R") \R user> (type (last "4R")) java.lang.Character 不过,从一中找出一个数字是很容易的 user> (int (last "4R")) 82 clojurescri

如何在clojure中从字符映射到数字

就像我有一个功能:

(defn letter [c]
(str (last c)))

如果我输入:user=>字母4R,那么我希望输出为R。如何将字符串值R映射到R?

在jvm中,字符不是数字

user> (last "4R")
\R
user> (type (last "4R"))
java.lang.Character
不过,从一中找出一个数字是很容易的

user> (int (last "4R"))
82
clojurescript中没有字符数据类型,因此方法不同

cljs.user=> (.charCodeAt (last "4R") 0)
82

R不是一个数字。Clojure中的文字R是一个符号。您可以使用symbol-e从字符串中生成符号,即symbol R=>R


正如@noisesmith所说,例如,在Clojure/Java中,写为\R的字符也不是数字。你要问什么还不完全清楚,因此如果这没有帮助,请将你的问题再扩大一点——例如,解释一下你真正想要达到的目标。

答案是什么?我只想要输出R。现在它给出了R。在clojure中,\R是最接近的。在clojurescript中,没有这样的东西。符号R将以您想要的方式打印,但它不是字符。此外,您的标题是如何从字符映射到数字,字符R映射到数字82。输出显示在哪里?谢谢!我只是想知道这个:符号R: