问题标签 [zipper]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
334 浏览

clojure - Clojure:拉链-> html

经过几天尝试将我的大脑包裹在拉链上,我想我终于明白了如何从顺序数据中创建它们。

但是,在搜索了几天之后,我似乎找不到任何关于如何将拉链转换为其他东西的资源。基本上,我想将一些数据转换为可以传递给 Hiccup 以生成一些 HTML 的格式。

关于将拉链树转换为不同的数据结构应该做些什么,有什么好的资源吗?

0 投票
3 回答
607 浏览

haskell - 共同寻找所有关注网格的方法

首先是一些背景(哈哈)。我在非空列表上有一个拉链。

您可以沿着拉链向任一方向迈进,但您可能会从末端跌落。

复制拉链向您展示了您可以查看它的所有方式,重点是您当前查看它的方式。

例如:

(我使用大写和星号来表示拉链的焦点。)


我正在尝试使用具有焦点的二维网格,表示为拉链的拉链。每个内拉链都是一排格子。我的最终目标是通过从邻居跳到邻居来找到穿过网格的路径。

在网格中移动保持所有行都集中在同一个索引上的不变性。这使您可以轻松地专注于您的任何邻居。

例子:

我想要的是LZipper's duplicatefor grids 的等价物:一个函数,它接受一个网格并生成一个网格,其中包含您可以查看网格的所有方式,重点是您当前查看它的方式。

我所期待的:

我试过了duplicateGrid = duplicate . duplicate。这具有正确的类型,但是(假设我show正确地解释了输出,我可能没有)它只给了我集中在第一列某处的网格:

我也试过了duplicateGrid = duplicate . fmap duplicate。再次假设我能够解释show输出,这给了我一些包含错误网格并且行的焦点未对齐的东西,这样向下移动也会让你继续前进:

对于那些知道的人来说,这感觉像是一个简单的问题,但它让我头晕目眩。我想我可以手动启动一个调用up,和的函数down,但我觉得 comonadic 机器应该能够为我做这件事。什么是正确的实现?leftrightduplicateGrid

0 投票
2 回答
111 浏览

xml - 在 let 中使用 xml->

我有一些代码,它使用拉链解析出肥皂数据。当我像这样格式化它时,它按预期工作

它打印出预期的结果。但是当我将 XML 解析移到 let 语句时,它无法编译,并出现以下错误(我已经三次检查括号是否匹配)

代码改成把xml-z/xml->调用放到let语句中,如下

这是 let 表单的错误,还是我错过了有关 xml-> 功能的行为?

带有非工作函数调用的完整代码文件:

src/hello/core.clj:

项目.clj:

0 投票
2 回答
239 浏览

clojure - 找到所有的父母就像穿过一棵树

我想用来clojure.zip遍历这棵树并打印节点及其父节点。我很难找到父母。例如:eis的父级:b

这是结果:

我可以继续改进这个parent-of功能——我的下一个想法是去最左边的节点。将会有一个算法可以从所有位置返回正确的答案 - 但是,以这种方式进行似乎对于一个共同的要求来说是相当多的工作。

我应该采取更好的方法吗?

编辑 这个问题不是关于clojure.walkor Spector。我正在寻找一个答案,它使用clojure.zip并给出我在问题中定义的父级,这只是loc. 所以如果loc给定的parent-of:f我希望它返回:c

如果有人可以告诉我,作为评论,拉链不再真正使用,并且说clojure.walk或者Spector是当前用于导航树木的最佳实践方式,那么这将有所帮助。

0 投票
1 回答
494 浏览

xml - Clojure XML 拉链行走和修剪

我正在走一个 html/xml 数据结构。我使用clojure.zip. 一旦找到我想要cut(修剪)的节点,我就找不到删除所有子节点和右节点的方法。

例子:

假设我有这棵树(代表 html):

我解析它,xml-zip它,在行走时的某个时刻,我最终到达了节点“D”,我想在其中剪切。我现在需要返回没有“E”、“C”(子)和“D”的根。这些是此时使用时尚未访问的所有节点next

我将如何删除这些节点?

注意:如果这不可行,我也欢迎一种复制拉链的方法cut

示例数据:这是我对上述树的解析数据,我称之为xml-zip

我开始像这样遍历它以获取内容:

另一个例子:

以下字符串:"<article><h1><img href=\"some-url\"></img> some-text <b>in bold</b></h1><ul><li> AA </li> <li>BB</li></ul></article>" 将为我提供以下地图:

在“some-text”切割时,它最终应该导致字符串 <article><h1><img href=\"some-url\"></img> some-text</h1></article>

0 投票
2 回答
490 浏览

php - 如何在 Zipper 中使用 usePassword 方法?

请告诉我如何使用“usePassword”方法提取受密码保护的 zip 文件。

在上面的代码中,我想使用 usePassword 方法使用密码进行 zip 提取,因为 $value1 是受密码保护的 zip。但我不知道如何将这种方法用于 Zipper。请帮助我。我也在 github问题中发帖

提前致谢

0 投票
3 回答
1478 浏览

scala - 无法压缩分区数不相等的 RDD。我可以使用什么来替代 zip?

我有三个相同大小的 RDDrdd1包含一个字符串标识符,rdd2包含一个向量并rdd3包含一个整数值。

本质上,我想将这三个压缩在一起以获得 RDD,RDD[String,Vector,Int]但我不断得到不能压缩分区数不相等的 RDD。我怎样才能完全绕过 zip 来做上述事情?

0 投票
1 回答
419 浏览

php - PHP 无法访问新创建的 zip 文件

我使用 Laravel 5.2 和Zipper快速创建 ZIP 存档并由用户下载。我认为这个问题通常与 Laravel 或 Zipper 没有严格的关系。脚步:

  1. 用户点击链接download_all
  2. 第一个 php 脚本创建存档。
  3. 接下来,相同的脚本推送创建的文件以强制用户下载。

一切听起来都很正常,但我有奇怪的行为,在创建 zip 存档后(第 2 点)php/server看不到这个新创建的文件。$filePath 上的 filesize 和 file_exists 都返回 false,但文件存在。我无法读取文件,为什么?

当我将用户重定向到 $filePath (而不是阅读并推送下载)时,一切正常,用户获取文件。但是为什么我在“脚本生命周期”期间无法访问新创建的文件?$paths 是正确的。在 Windows 7 和 Unix 上测试。

任何想法?

代码:

0 投票
1 回答
1717 浏览

php - Laravel Chumper Zipper 如何在没有特定文件夹名称的情况下提取

我有一个这种格式的 zip 文件:

我可以使用这个来提取:

如何在不指定 zip 中的文件夹名称的情况下提取内容?

谢谢!

0 投票
1 回答
277 浏览

haskell - 疤痕有什么用?

在 Huet 题为“拉链”的论文中,他还提到疤痕是拉链的一种变体。与在 Haskell 社区中广为人知的拉链相比,疤痕几乎闻所未闻。从我能找到的论文本身和互联网上的任何地方,关于它们的信息很少。

所以我不得不问,它们是根本没有用,还是它们有什么用处,但大多数人不知道它们?