当前位置:  开发笔记 > 编程语言 > 正文

在" - >"语句中翻转参数

如何解决《在"->"语句中翻转参数》经验,为你挑选了1个好方法。

代码后面的代码不起作用,因为重新查找接受一个字符串作为第一个参数,一个正则表达式作为第二个参数.

(-> "hello"
    .toUpperCase
    (re-find #".$"))

如果我重新找到这样的代码,代码将起作用:

(defn re-find2 [s r]
   (re-find r s))

如果我现在用re-find2替换re-find,我得到了我的预期:大写的"O".

如何在不重新包装的情况下解决这个问题?



1> Tim X..:

如上所述,如果所有函数只有一个参数或者将结果作为最后一个参数,则可以使用thread-last.但是,如果您还有具有多个参数的函数,并且您必须将结果传递到无法通过 - >或 - >>处理的特定位置,那么as-> macro可能是您最好的选择.

此宏允许您为每个函数调用的结果指定绑定.现在结果有一个名称,您可以控制该参数的位置.看一下关于线程宏的博客文章

推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有