为什么 clojure 函数在 core.cljs [reagent] 中不工作或崩溃?
Why clojure function is not working or crashing in core.cljs [reagent]?
我有一个函数 encode
,它将种子和消息传递给 return 密码。
我的问题是,当我尝试在我的 core.cljs 文件中使用它和试剂时,该功能无提示地失败(return 一个空字符串)。
我觉得我做错了什么(或方法),所以任何快速指示将不胜感激。
(prn (encode "testing" "test")) ;;> ""
(prn (type encode)) ;;> #object[Function]
(prn (type (encode "testing" "jordan"))) ;;> #object[String]
例如,我期待:"mikmbry" 来自 (encode "testing" "test")
。在 repl 上一切正常,但在 core.cljs
.
上默默地失败了
感谢您的宝贵时间。
您的代码在处理 ClojureScript 中的字符串时存在问题。
JavaScript 没有字符类型,ClojureScript 也没有引入自己的类型。相反,当您将字符串视为序列时,它的各个元素将是一个字符长的字符串:
(seq "ABC")
;; => ("A" "B" "C")
如果你需要得到一个字符的ASCII码值你需要使用JavaScript的String.charCodeAt(index)
:
(.charCodeAt "A" 0)
;; => 65
要将数字(作为 ASCII 代码)转换为字符串,您可以使用 String.fromCharCode
:
(js/String.fromCharCode 65)
;; => "A"
我有一个函数 encode
,它将种子和消息传递给 return 密码。
我的问题是,当我尝试在我的 core.cljs 文件中使用它和试剂时,该功能无提示地失败(return 一个空字符串)。
我觉得我做错了什么(或方法),所以任何快速指示将不胜感激。
(prn (encode "testing" "test")) ;;> ""
(prn (type encode)) ;;> #object[Function]
(prn (type (encode "testing" "jordan"))) ;;> #object[String]
例如,我期待:"mikmbry" 来自 (encode "testing" "test")
。在 repl 上一切正常,但在 core.cljs
.
感谢您的宝贵时间。
您的代码在处理 ClojureScript 中的字符串时存在问题。
JavaScript 没有字符类型,ClojureScript 也没有引入自己的类型。相反,当您将字符串视为序列时,它的各个元素将是一个字符长的字符串:
(seq "ABC")
;; => ("A" "B" "C")
如果你需要得到一个字符的ASCII码值你需要使用JavaScript的String.charCodeAt(index)
:
(.charCodeAt "A" 0)
;; => 65
要将数字(作为 ASCII 代码)转换为字符串,您可以使用 String.fromCharCode
:
(js/String.fromCharCode 65)
;; => "A"