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

函数式编程中的条件"赋值"

如何解决《函数式编程中的条件"赋值"》经验,为你挑选了1个好方法。

我编写的东西没有副作用,但我的代码不是很易读.考虑以下代码:

(let [csv_data (if header_row (cons header_row data_rows) data_rows)]
)

我正在尝试csv_data在一段代码中使用.什么是干净的调理方式header_row?我看过了if-let,但看不出这对我们有什么帮助.

我遇到了类似于函数for循环的情况,我将结果绑定到局部变量,代码看起来像一堆表达式.

在很多情况下,我真的必须创建一个单独的辅助函数吗?我在这里错过了什么?



1> Leon Grapent..:

使用cond->>

(let [csv_data (cond->> data_rows
                 header_row (cons header-row)]
   )

它的工作方式与常规->>宏类似,但在每个线程形式之前,必须放置一个测试表达式来确定是否使用线程化表单.

还有cond->.在这里阅读有关线程宏的更多信息:官方线程宏指南

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