lazy-sequences

    7热度

    1回答

    我查看了基本上一直创建惰性序列的地图源代码。我认为迭代集合并添加到瞬态矢量会更快,但显然不是。我对clojures表现行为有什么不了解? ;=> (time (do-with/(range 1 1000) (range 1 1000))) ;"Elapsed time: 23.1808 msecs" ; ; vs ;=> (time (doall (map #(/ %1 %2) (rang

    5热度

    1回答

    在处理seq中的每个元素时,我通常使用first和rest。 但是,这些将导致lazy-seq通过调用参数seq而失去其“懒惰”。我的解决方案一直使用(first (take 1 coll))和(drop 1 coll)来代替lazy-seq s,而我认为drop 1就好了,我不是特别喜欢拨打first和take来获得第一个元素。 有没有更习惯的方式来做到这一点?

    2热度

    3回答

    我似乎有clojure I/O(或类型系统)令人讨厌的问题。问题的关键是,这个功能,我希望能消耗字符串和数字或字符串的集合的集合,并返回与数字相关的字符串的字典中,像 (costlist '('("Milk" 4) '("Bread" 2) '("Milk"))) 给 {"Milk" 4, "Bread" 2 } 定义通过 (defn costlist [lst] ;returns

    1热度

    2回答

    Iam新增clojure并需要一些帮助才能从懒惰序列中获取值。 你可以看看我的完整的数据结构在这里:http://pastebin.com/ynLJaLaP 我需要的是标题的内容: {: _content AlbumTitel2} 我设法让所有_content值的列表: (def albumtitle (map #(str (get % :title)) photosets)) (print

    1热度

    2回答

    我想用clojure创建一个包含另一个lazy-seq的lazy-seq。 的数据结构,我AREADY已经是地图的懒惰序列,它看起来像这样: ({:a 1 :b 1}) 现在我想提出的是懒惰-SEQ成另一个,这样的结果将是一个懒序列的地图lazy-seq: (({:a 1 :b 1})) 有谁知道如何做到这一点?任何帮助,将不胜感激 问候,

    1热度

    1回答

    我试图找到一个句子的一部分,在否定词后面出现(例如,不要,不能,不),直到下一个标点符号并在句尾附加“_NOT”例如: “我真的很喜欢土耳其,但不是西红柿鸡,因为我过敏”变成 “我真的很喜欢土耳其,但没有chicken_NOT with_NOT tomatoes_NOT,因为我过敏” 。 最初我的方法是运行正则表达式,看起来是这样的: (dont|cant|not)(.*)[!?,.] 让我感

    0热度

    1回答

    懒过滤器在http://clojure.org/lazy的实施,filter这样定义: (defn filter "Returns a lazy sequence of the items in coll for which (pred item) returns true. pred must be free of side-effects." [pred coll

    0热度

    1回答

    我想从大型csv文件中读取一些行。在这里进行的快速搜索将我指向了“懒惰”模块。这是我的尝试: items = [] stream = fs.createReadStream src lazy(stream) .lines .skip(1) .take(5) .forEach((line)-> items.push line.toString(

    7热度

    2回答

    我目前正在读O'Reilly的Clojure的编程的书,它是说,在它下面是关于懒惰的序列部分: 这是可能的(虽然很罕见)于慵懒的序列以了解它的长度,因此在没有实现其内容的情况下归还它。 我的问题是,这是如何完成的,为什么这么罕见? 不幸的是,本书没有在本节中指定这些内容。我个人认为在实现之前知道一个惰性序列的长度是非常有用的,例如,在同一页面中是一个使用map函数处理的惰性文件序列的示例。在实现序

    2热度

    1回答

    我希望在Newick format中打印一棵二叉树,显示每个节点与其父节点的距离。目前我没有遇到下面的代码使用正则递归的问题,但是太深的树可能会产生堆栈溢出。 (defn tree->newick [tree] (let [{:keys [id children to-parent]} tree dist (double to-parent)] ; to-paren