在Google的diff_match_patch中,我找到了以下代码:
best_common = shorttext.substring(j - suffixLength, j) +
shorttext.substring(j, j + prefixLength);
但这不是:
best_common = shorttext.substring(j - suffixLength, j + prefixLength);
如果您想在其自然栖息地中看到此代码,请查看来源:
寻找673和674行。
答案 0 :(得分:1)
是的,它们与suffixLength
相同,prefixLength
保证在您的情况下是非负面的。
答案 1 :(得分:1)
这些在大多数情况下是等效的。但是,有一个边缘情况需要考虑。
对于以下示例,我们假设shorttext == "abcdefghijklmnopqrstuvwxyz"
。
prefixLength
或suffixLength
为否定允许j = 12
,prefixLength = -4
和suffixLength = -5
。然后
shorttext.substring(j - suffixLength, j) + shorttext.substring(j, j + prefixLength)
// == "mnopq" + "jkl"
shorttext.substring(j - suffixLength, j + prefixLength)
// == "jklmnopq"