(def conversions {"G" "C"
"C" "G"
"T" "A"
"A" "U"})
(defn to-rna [dna]
(map conversions dna)
)
(conversions "G") ;; Gives "C"
(to-rna "GC") ;; Gives (nil nil)
Run Code Online (Sandbox Code Playgroud)
我正在尝试进行转换字母的练习。我有一个可行的解决方案,但我不喜欢它。我觉得上面的方法应该可行,但显然我错了,因为事实并非如此。
有人可以向我解释这是为什么,以及我如何正确实现这一目标?
正如dpassen所说,您需要java.lang.Character在地图中放置一个 ,而不是长度为1的字符串。尝试这个:
(def conversions { \G \C
\C \G
\T \A
\A \U })
Run Code Online (Sandbox Code Playgroud)