只是自学的Clojure和附近游荡:添加一个变量为一个字符串用Clojure
我想创建一个函数,它的参数,并将其添加到字符串。作为一个新手,我不知道如果我做对了或错,但它不工作。我想让它说“你好,罗恩!”
(fn
[x]
((str "hello, " %1 " !") x) "Ron")
这听起来基本
了java.lang.RuntimeException:无法解析符号:在这种情况下 %,编译:(NO_SOURCE_PATH:0)
只是自学的Clojure和附近游荡:添加一个变量为一个字符串用Clojure
我想创建一个函数,它的参数,并将其添加到字符串。作为一个新手,我不知道如果我做对了或错,但它不工作。我想让它说“你好,罗恩!”
(fn
[x]
((str "hello, " %1 " !") x) "Ron")
这听起来基本
了java.lang.RuntimeException:无法解析符号:在这种情况下 %,编译:(NO_SOURCE_PATH:0)
的%1
语法用于匿名函数文字,如下所示:
#(str "hello, " %1)
在你的情况下,该参数被命名,这样你就可以直接使用它:
(fn [x] (str "hello, " x "!"))
您也可以命名函数本身:
(defn hello [name] (str "hello, " name "!"))
完全一样。谢谢 –
代码不太正确。后两个例子比较好'((fn [x](str“hello,”x“!”))“Ron”)'和'(defn hello [x](str“hello,”x“!”)) '。 – Thumbnail
您可以使用:
(defn hello [name] (str "hello, " name " !")) (hello "Ron")
((fn [name] (str "hello, " name " !")) "Ron")
什么是您的REPL说?那肯定会告诉你。 – jmargolisvt
考虑阅读教程 –
@LeonGrapenthin我正在那样做,但我认为有一种特殊的方式来连接字符串,就像java或javascript –