我模仿ramda写了一个的python库

https://github.com/zydmayday/python_ramda

这个是我最近一直在弄的库。

因为之前工作中一直在用ramda(https://ramda.cn/),而且本人也非常喜欢函数式编程的概念,
所以心血来潮,想用python把ramda实现的功能给复刻一遍。

目的主要有三个,
第一:正好趁此机会学习一下python
第二:了解一下编写开源库是什么感觉
第三:把ramda中的函数都仔细研究一遍

编写的库的使用方法如下:

python -v
Python 3.9.4
其他的版本没有尝试,说不定可以使用

pip install -U python-ramda # 我发布的库

因为使用方式其实和ramda一样,所以文档完全可以参考ramda。

# 具体的使用
import ramda as R

# 柯里化的例子
my_sum = lambda a, b, c: a + b + c
curried_sum = R.curry(my_sum)
curried_sum(1)(2)(3) # 6
curried_sum(1, 2)(3) # 6
curried_sum(1)(2, 3) # 6
curried_sum(1, 2, 3) # 6
new_sum = curried_sum(1) # 可以传部分参数生成新的函数
new_sum(2)(3) # 6

# 函数组合的例子
R.add(1, 2) # 3
R.multiply(2, 4) # 8
fn = R.pipe(R.add, R.multiply(3))
fn(1, 2) # (1 + 2) * 3 = 9

如果有感兴趣的小伙伴可以欢迎一起来贡献代码!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容