| Algoritmo :: diffd Algoritmo :: Diffold es un módulo PERL para calcular las diferencias "inteligentes" entre dos archivos / listas, pero use la interfaz anterior. |
Descargar ahora |
Algoritmo :: diffd Clasificación y resumen
- Licencia:
- Perl Artistic License
- Nombre del editor:
- Algorithm::DiffOld team
- Sitio web del editor:
- http://search.cpan.org/~nedkonz/Algorithm-Diff-1.15/lib/Algorithm/DiffOld.pm
Algoritmo :: diffd Etiquetas
Algoritmo :: diffd Descripción
Algoritmo :: Diffold es un módulo PERL para calcular las diferencias "inteligentes" entre dos archivos / listas, pero use la interfaz anterior. Algoritmo :: Diffold es un módulo PERL para calcular las diferencias "inteligentes" entre dos archivos / listas, pero use el antiguo (NOTHIS se ha proporcionado como parte del algoritmo :: Diff Package by Ned Konz. Este módulo en particular es solo para las personas que tienen Para tener la interfaz antigua, que utiliza una función de comparación en lugar de una función de generación de teclas. Porque debe compararse cada una de las líneas en una matriz con cada una de las líneas en la otra matriz, esto hace las comparaciones de M * N. Esto puede ser Muy lento. Lo registré a tomar 18 veces más tiempo que la versión de stock de algoritmo :: diff para un archivo de 4000 líneas. Se empeorará cuadradiquense a medida que aumentan los tamaños de la matriz. Algorritmo de uso. @lcs = lcs (@ seq1, @ seq2, $ comparación_función); $ lcsref = lcs (@ seq1, @ seq2, $ comparativa_función); @diffs = diff (@ seq1, @ seq2, $ comparación_función); traverse_quences (@ seq1 , @ seq2, {coincidencia => $ Callback, Descard_A => $ Callback, Descard_B => $ Callback,}, $ Comparation_FUND ion); COMBÁNTES FUNCIONES CADA DE LAS RUTINAS PRINCIPALES DEBE PASAR UNA FUNCIÓN DE COMPARACIÓN. Si no está pasando uno, use el algoritmo :: Diff en su lugar. Estas funciones deben devolver un valor real cuando dos elementos deben compararse como igual. Por ejemplo, @lcs = lcs (@ seq1, @ seq2, sub {my ($ a, $ b) = @_; $ un eq $ b}); pero si eso es todo lo que está haciendo con su función de comparación, solo use algoritmo :: diff y deje que haga esto (este es su valor predeterminado) .or : Sub SubfunkyComparisonFunction {My ($ A, $ b) = @_; $ a = ~ m {$ b}; } @diffs = Diff (@lines, @patterns, SomeFunkyComparisonFunction); lo que le permitiría difundir una matriz @lines que consiste en líneas de texto con una matriz @patterns que consiste en expresiones regulares. Esto es en realidad la razón por la que escribí esta versión. - No hay manera de hacerlo con una función de generación clave como en el algoritmo Stock :: Diff. Requisitos: · Perl
Algoritmo :: diffd Software relacionado