DiffApply[diffobj,expr]
返回将给定 DiffObject 应用于表达式 expr 的结果.
DiffApply
DiffApply[diffobj,expr]
返回将给定 DiffObject 应用于表达式 expr 的结果.
更多信息和选项
- DiffApply 可对以下类型的表达式进行转换:
-
lists {…} 返回两个列表之间的差异 text "text", File["fname.txt"] 返回两段文字之间单个字符、单词或行的差异 biomolecular sequences BioSequence[…] 返回两个生物分子序列之间字母的差异 cells Cell[…], CellObject[…] 返回两个单元之间的内容、样式和选项的差异 notebooks Notebook[…], NotebookObject[…], File["fname.nb"] 返回两个笔记本之间的单元和选项的差异 - diffobj 必须是从与 expr 相同类型的表达式生成的 DiffObject.
- DiffApply[Diff[old,new],old] 返回 new,假定支持对 old 和 new 进行比较.
- 如果 DiffObject 是由 Diff3 生成的,只要不存在冲突,DiffApply 会将所有修改合并为一个结果.
- 将输出写入文件时,默认情况下不会覆盖现有文件. 用 DiffApply[…,OverwriteTargetTrue] 强制覆盖现有文件.
- 如果 DiffApply 返回 Failure 对象,将使用以下标签:
-
"InvalidDiffObject" diffobj 不是有效的 DiffObject "DiffObjectContainsConflicts" diffobj 含有冲突标记 "WrongType" diffobj 的表达式类型不同于 expr 的类型 "DiffApplyFailure" diffobj 含有未映射到 expr 的修改 "CantOverwriteFile" "file" 存在,OverwriteTarget 设置不允许覆盖该文件
范例
打开所有单元 关闭所有单元基本范例 (2)
范围 (2)
应用 (1)
通过将 DiffObject 应用于原始文件来重建编辑后的文件:
orig = Export[Close[OpenWrite[]], RandomSample @ Range[10], "Lines"];obj = Diff[File @ orig, File @ Export[Close[OpenWrite[]], RandomSample @ Range[5], "Lines"]]DiffApply[obj, File @ orig, File @ Close[OpenWrite[]]]//FilePrint可能存在的问题 (2)
应用含有冲突的 DiffObject 将返回 Failure 对象:
obj = Diff3["a string", "my string", "your string"]DiffApply[obj, "a string"]DiffObject 只能应用于生成它的同类表达式:
obj = Diff["This is a string", "This is another string"]DiffApply[obj, {"This", "is", "a", "list"}]文本
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_2026_diffapply, author="Wolfram Research", title="{DiffApply}", year="2024", howpublished="\url{https://reference.wolfram.com/language/ref/DiffApply.html}", note=[Accessed: 15-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_diffapply, organization={Wolfram Research}, title={DiffApply}, year={2024}, url={https://reference.wolfram.com/language/ref/DiffApply.html}, note=[Accessed: 15-September-2026]}