2016-01-06 42 views
0

只是自学的Clojure和附近游荡:添加一个变量为一个字符串用Clojure

我想创建一个函数,它的参数,并将其添加到字符串。作为一个新手,我不知道如果我做对了或错,但它不工作。我想让它说“你好,罗恩!”

(fn 
[x] 
((str "hello, " %1 " !") x) "Ron") 

这听起来基本

了java.lang.RuntimeException:无法解析符号:在这种情况下 %,编译:(NO_SOURCE_PATH:0)

+0

什么是您的REPL说?那肯定会告诉你。 – jmargolisvt

+2

考虑阅读教程 –

+0

@LeonGrapenthin我正在那样做,但我认为有一种特殊的方式来连接字符串,就像java或javascript –

回答

1

%1语法用于匿名函数文字,如下所示:

#(str "hello, " %1) 

在你的情况下,该参数被命名,这样你就可以直接使用它:

(fn [x] (str "hello, " x "!")) 

您也可以命名函数本身:

(defn hello [name] (str "hello, " name "!")) 
+0

完全一样。谢谢 –

+0

代码不太正确。后两个例子比较好'((fn [x](str“hello,”x“!”))“Ron”)'和'(defn hello [x](str“hello,”x“!”)) '。 – Thumbnail

相关问题