当前位置: 首页 > 知识库问答 >
问题:

Clojure:创建一个包含另一个lazy-seq的lazy-seq

满雨石
2023-03-14
({:a 1 :b 1})
(({:a 1 :b 1}))

有人知道怎么做吗?如有任何帮助,不胜感激

问候,

共有1个答案

颜熙云
2023-03-14

下面是一个创建包含地图列表的列表的示例:

=> (list (list {:a 1 :b 1}))
(({:a 1, :b 1}))

它不是惰性的,但您可以使用lazy-seq宏使这两个列表都是惰性的:

=> (lazy-seq (list (lazy-seq (list {:a 1 :b 1}))))

或与->宏相同的代码:

=> (-> {:a 1 :b 1} list lazy-seq list lazy-seq)
=> (lazy-seq [(lazy-seq [{:a 1 :b 1}])])
(({:a 1, :b 1}))
 类似资料:
  • 我试图从继承的一些迭代Java库代码中创建一个Clojure seq。基本上,Java代码所做的是使用解析器从文件中读取记录,将这些记录发送到处理器,并返回结果的ArrayList。在Java中,这是通过调用parser.readdata(),然后调用parser.getRecord()获取一条记录,然后将该记录传递给processor.processRecord()来完成的。对parser.re

  • 对于一个简单的lazy-seq,只取一个参数(比如2的幂的列表),如果我用5和8来命名它呢?只是缓存了这两个值吗? 创建和缓存一个无限列表来获得一个无限结构,如果缓存我已经调用懒惰函数的每一个输入都会破坏内存,那么创建和缓存一个无限列表又有什么意义呢? 因为它说它会在以后的每个调用中缓存结果...带's'的。 可以在运行时以某种方式跟踪此行为吗?

  • 是否可以初始化一个Spring? 例如。 (我正在尝试最后两个场景)

  • A package is a directory with some code and a package.json file that provides information to Yarn about your package. Most packages use some kind of version control system. The most common one is git

  • lazy: Boolean 延迟渲染 当动画第一次渲染并读取其起始值时,将默认自动“延迟渲染”该特定瞬间,这意味着它将尝试延迟渲染(写入值)直到最后时间点。这可以提高性能,因为它避免了某些浏览器所做的读/写/读/写布局颠簸。 如果要为特定补间禁用延迟渲染,可以进行设置lazy:false。 或者由于零持续时间的补间默认情况下不进行延迟渲染,因此您可以通过设置lazy:true等方式为其提供延迟渲染

  • Wraps an object and returns a Sequence. For null or undefined, simply returns an empty sequence (see Lazy.strict for a stricter implementation). For arrays, Lazy will create a sequence comprising the