类似clojure的实用程序

clj的Python项目详细描述


CLJ

clj是一个python模块,用于执行过多clojure和 回到python的思考中,这些distinctdrop-whilecyclefirst等。

安装

pip install clj

用法

示例

;; Clojure(println (count (distinct (filter even?(map inc coll)))))
# Pythonfromcljimportcount,distinct,filter,inc,mapeven=lambdae:~e&1print(count(distinct(filter(even,map(inc,coll)))))

注意,count()对生成器中的两个序列都有效;在后一种情况下 它不会像len(list(g))那样在内存中加载所有内容。

核心理念

  • 默认情况下是懒惰的。所有函数都应该在任意迭代器和 返回发电机。
  • 这是Python。我们保留python的语义,而不是试图复制 python中的clojure(例如,0[]在clojure中逻辑上是正确的,但在clojure中是错误的 在python中,None不等同于空集合)。
  • 不要重新发明轮子。我们不重新实现内置函数 除非他们漏掉了什么:range因为没有 参数来产生一个无限序列;mapfilter在python 2中 因为他们不懒。

支架

一般的命名方案是:使用下划线而不是连字符;启动 如果其clojure对应项以?结尾,则使用is_函数。

序列

我们的目标是实现所有操作序列的clojure函数 (见the list here)。 它们都在iterable上工作,默认情况下返回生成器(python最接近的 相当于惰性序列)。我们不支持传感器。

Clojure^{}Comment
^{}^{}
^{}^{}
^{}^{}
^{}^{}
^{}^{
^{}^{}
^{}^{}Deprecated. Use Python’s ^{}
^{}-Use Python’s ^{}
^{}^{}
^{}^{}
^{}^{}
^{}^{}
^{}^{}
^{}-Use ^{}.
^{}-Use ^{}.
^{}-Use ^{}
^{}^{}
^{}^{}Deprecated. Use Python’s ^{}
^{}-Use ^{}.
^{}^{}
^{}^{}
^{}^{}Deprecated. Use Python’s ^{}
^{}^{}
^{}^{}
^{}^{}
^{}-Use Python’s ^{}.
^{}-Use Python’s built-in ^{}.
^{}-Use ^{}.
^{}^{}
^{}^{}
^{}^{}
^{}
^{}
^{}
^{}^{}
^{}-
^{}^{}
^{}^{}^{} becomes ^{}
^{}^{}
^{}-
^{}^{
^{}^{}
^{}^{}
^{}^{}
^{}^{}
^{}^{}
^{}-Use Python’s ^{}.
^{}^{}
^{}-
^{}-Use Python’s built-in ^{}.
^{}-Use Python’s ^{}.
^{}-Use Python’s ^{}.
^{}-Use Python’s ^{}.
^{}-
^{}-Use Python’s ^{}.
^{}^{}
^{}-Use the ^{} construct.
^{}-
^{}^{}
^{}^{}
^{}^{}
^{}^{}
^{}^{}
^{}-
^{}^{}
^{}-Use ^{}.
^{}^{}
^{}-Use Python’s ^{}.
^{}-
^{}-
^{}-Use Python’s ^{}.
^{}-Use Python’s ^{}.
^{}-
^{}
^{}
^{}^{}
^{}^{}
^{}^{}^{} becomes ^{}.
^{}^{}Prefer Python’s ^{} for everything but infinite generators.
^{}-Loop over an ^{}.
^{}-
^{}-Use Python’s ^{}.
^{}^{}
^{}-Use Python’s ^{}.
^{}-
^{}-
^{}-
^{}-Use Python’s ^{}.
^{}-Use Python’s ^{}.
^{}-Use ^{}.
^{}
^{}-Use Python’s ^{}.
^{}-Use Python’s ^{}.
^{}
^{}
^{}

我们还实现了count,尽可能使用python的len,并且 对于其他情况,在for循环上进行回退。

功能

我们还提供各种各样的功能以及 功能。

Clojure^{}Comment
^{}^{}
^{}-Use Python’s ^{}
^{}^{}
^{}^{}
^{}^{}
^{}^{}
^{}^{}
Clojure^{}Comment
^{}^{}
^{}^{}

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
bufferedreader JavasocketreadLine()方法奇怪的行为   JavaSpring表单:选择多个默认情况下不选择第一个选项   在Java中调用方法之前检查参数的数量   mysql如何在java上执行算术。sql。时间物体?   安卓版libgdx中的java实现库   web应用中的Java内存管理   java异步任务停止工作安卓   Java Android:确保测验答案彼此不同   java内核32。例子在JNA中找不到ReadProcessMemory   Java生产者/消费者并发性问题尝试读取对象时,NoSuchElementFound异常   java阻止返回或关闭应用程序   java如何测量丢弃的UDP消息的数量?   java是处理时间度量的最佳方法?   启动Eclipse应用程序时java Unset环境变量?   java将自定义验证器添加到Eclipse插件中的特定文件类型   找到java否定响应00000436   java如何从typeElement获取实际类型?   java使用vert处理异步操作。十、   java有人能建议简化代码吗?