DiffApply

DiffApply[diffobj,expr]

返回将给定 DiffObject 应用于表达式 expr 的结果.

DiffApply[diffobj,expr,File["file"]]

将修改 expr 的结果写入 file.

更多信息和选项

  • DiffApply 可对以下类型的表达式进行转换:
  • lists{}返回两个列表之间的差异
    text"text", File["fname.txt"]返回两段文字之间单个字符、单词或行的差异
    biomolecular sequencesBioSequence[]返回两个生物分子序列之间字母的差异
    cellsCell[], CellObject[]返回两个单元之间的内容、样式和选项的差异
    notebooksNotebook[], NotebookObject[], File["fname.nb"]返回两个笔记本之间的单元和选项的差异
  • diffobj 必须是从与 expr 相同类型的表达式生成的 DiffObject.
  • DiffApply[Diff[old,new],old] 返回 new,假定支持对 oldnew 进行比较.
  • 如果 DiffObject 是由 Diff3 生成的,只要不存在冲突,DiffApply 会将所有修改合并为一个结果.
  • 将输出写入文件时,默认情况下不会覆盖现有文件. 用 DiffApply[,OverwriteTargetTrue] 强制覆盖现有文件.
  • 如果 DiffApply 返回 Failure 对象,将使用以下标签:
  • "InvalidDiffObject"diffobj 不是有效的 DiffObject
    "DiffObjectContainsConflicts"diffobj 含有冲突标记
    "WrongType"diffobj 的表达式类型不同于 expr 的类型
    "DiffApplyFailure"diffobj 含有未映射到 expr 的修改
    "CantOverwriteFile""file" 存在,OverwriteTarget 设置不允许覆盖该文件

范例

打开所有单元关闭所有单元

基本范例  (2)

对列表应用 diff:

对字符串应用 diff:

范围  (2)

对原始版本应用两个不同的修改:

一次修改一个单词:

可能存在的问题  (2)

应用含有冲突的 DiffObject 将返回 Failure 对象:

DiffObject 只能应用于生成它的同类表达式:

Wolfram Research (2024),DiffApply,Wolfram 语言函数,https://reference.wolfram.com/language/ref/DiffApply.html.

文本

Wolfram Research (2024),DiffApply,Wolfram 语言函数,https://reference.wolfram.com/language/ref/DiffApply.html.

CMS

Wolfram 语言. 2024. "DiffApply." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/DiffApply.html.

APA

Wolfram 语言. (2024). DiffApply. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/DiffApply.html 年

BibTeX

@misc{reference.wolfram_2024_diffapply, author="Wolfram Research", title="{DiffApply}", year="2024", howpublished="\url{https://reference.wolfram.com/language/ref/DiffApply.html}", note=[Accessed: 05-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_diffapply, organization={Wolfram Research}, title={DiffApply}, year={2024}, url={https://reference.wolfram.com/language/ref/DiffApply.html}, note=[Accessed: 05-November-2024 ]}