随着关闭
(apply str [\a \b])
Run Code Online (Sandbox Code Playgroud)
和
(apply str '(\a \b))
Run Code Online (Sandbox Code Playgroud)
返回"ab".
(apply str (\a \b))
Run Code Online (Sandbox Code Playgroud)
返回错误.
这是为什么?
Ale*_*art 14
因为(\a \b)意味着" \a使用参数"调用函数\b,并且因为字符\a不是函数,所以它失败了.请注意以下差异:
user=> (+ 1 2 3) 6 user=> '(+ 1 2 3) (+ 1 2 3)
作为一般规则,如果要编写文字序列,请使用向量而不是带引号的列表,因为引用也将停止对列表中的部分进行评估,例如:
user=> [(+ 1 2) (+ 3 4)] [3 7] user=> '((+ 1 2) (+ 3 4)) ((+ 1 2) (+ 3 4))
| 归档时间: |
|
| 查看次数: |
175 次 |
| 最近记录: |