"语句中的参数-6ren"> "语句中的参数-代码后面的代码不起作用,因为重新查找接受字符串作为第一个参数,正则表达式作为第二个参数。 (-> "hello" .toUpperCase (re-find #".$")) 如果我像这-6ren">
sách gpt4 ai đã đi

Đảo ngược các đối số trong câu lệnh "->"

In lại 作者:太空宇宙 更新时间:2023-11-03 18:44:31 28 4
mua khóa gpt4 Nike

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

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

如果我像这样包装 re-find,代码就会工作:

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

如果我现在用 re-find2 替换 re-find,我会得到我期望的结果:一个大写的“O”。

我怎么能在不包装重新查找的情况下解决这个问题?

1 Câu trả lời

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

此宏允许您为每个函数调用的结果指定一个绑定(bind)。由于结果现在有了名称,您可以控制该参数的位置。看看this blog post on threading macros

关于clojure - 翻转 "->"语句中的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34580990/

28 4 0
Bài viết được đề xuất: lisp - 如何避免在 cond 子句 LISP 中重复代码?
Bài viết được đề xuất: lisp - 如何在 lisp 中生成加法器函数?
Bài viết được đề xuất: python - lxml xml 解析,在 xml 标签内包含 html 标签
Bài viết được đề xuất: lisp - Common Lisp 等效于 `man`
太空宇宙
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com