我有一个函数=SUMIF(C:C,1)
=SUMIF(C:C,2)
=SUMIF(C:C,3)
,它接受一个种子和消息来返回一个密码。
我的问题是,当我尝试在带有试剂的core.cljs文件中使用它时,该函数无声地失败(返回一个空字符串)。
我觉得我做某事(或接近)是错误的,所以任何快速指针都会受到高度赞赏。
encode
例如我期待:" mikmbry"来自(prn (encode "testing" "test")) ;;> ""
(prn (type encode)) ;;> #object[Function]
(prn (type (encode "testing" "jordan"))) ;;> #object[String]
。一切都在repl上运行,但在(encode "testing" "test")
上无声地失败。
感谢您的时间。
答案 0 :(得分:4)
您的代码在使用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"