Mientras los flujos de texto se arremolinaban ante los ojos del joven, su mente nadaba con pensamientos de muchas cosas. Tendrían que esperar, sin embargo, mientras concentraba su atención. concentración total en los patrones cambiantes que tenía delante. Un destello de luz El reflejo de un fragmento de código enterrado llamó su atención y cualquier esperanza que tuviera se desvaneció. perdido. En el mismo momento en que miró hacia un lado, el paisaje se volvió Diferente. El joven dio un pequeño suspiro y avanzó con solemne resignación. destinado a vagar por los desolados bancos de códigos a perpetuidad.
Differ es una biblioteca de diferencias flexible, puramente Ruby, adecuada para su uso tanto en scripts de línea de comandos como en aplicaciones web. La flexibilidad proviene del hecho de que las diferencias se pueden crear en niveles de granularidad completamente arbitrarios (algunos comunes están integrados) y se pueden generar en una variedad de formatos.
La instalación de sudo gem difiere
Hay varias formas de utilizar Differ, según su situación y necesidades.
@original = "¡Fallo épico de lolcat!" @current = "¡Fracaso épico del hombre lobo!"
Puede llamar al módulo Differ directamente.
requieren 'diferir'
Hay varios métodos de diferenciación integrados para elegir...
@diff = Difieren . diff_by_line ( @actual , @original ) # => "{"¡Epic lolcat fall!" >> "¡Epic wolfman fall!"}" @diff = Difieren . diff_by_word ( @actual , @original ) # => "¡Epic {"lolcat" >> "wolfman"} falla!" @diff = Difieren . diff_by_char ( @current , @original ) # => "Épico {+"wo"}l{-"olcat "}f{+"m"}a{+"n fa"}il!"
… ¡o llame a #diff directamente y proporcione su propia cadena límite!
@diff = Difieren . diff ( @current , @original ) # ¡implícitamente por línea! # => "{"¡Epic lolcat fall!" >> "¡Epic wolfman fall!"}" @diff = Difieren . diferencia ( @actual , @original , 'yo' ) # => "Epi{"c lolcat fa" >> "c wolfman fa"}il"
Si quieres algo un poco más en línea...
requiere 'diferir/cadena' @diff = @actual . diff ( @original ) # ¡implícitamente por línea! # => "{"¡Epic lolcat fall!" >> "¡Epic wolfman fall!"}"
… o mucho más en línea…
@diff = ( @current - @original ) # ¡implícitamente por línea! # => "{"¡Epic lolcat fall!" >> "¡Epic wolfman fall!"}" $; = ' ' @diff = ( @actual - @original ) # => "¡Epic {"lolcat" >> "wolfman"} falla!"
… prácticamente lo tenemos cubierto.
¿Necesita un formato de salida diferente? También tenemos algunos de esos.
Difieren . formato = :ascii # <- Predeterminado Difieren . formato = :color Difieren . formato = :html Difieren . formato = MiMóduloFormatoPersonalizado
¿No desea cambiar el valor predeterminado de todo el sistema para una única salida de diferenciación? Sí, yo tampoco.
@diff = ( @actual - @original ) @diff . formato_as ( :color )
Copyright © 2009 Pieter Vande Bruggen.
(La licencia GIFT, v1)
Por la presente se concede permiso para utilizar este software y/o su código fuente para cualquier propósito que usted elija. En serio, vuélvete loco. Úselo para su lector personal de fuentes RSS, su red social tremendamente rentable o su misión a Marte.
No me importa, es tuyo. Cambie el nombre si lo desea; de hecho, si comienza a cambiar significativamente lo que hace, ¡preferiría que lo hiciera! Conviértalo en su propia pequeña obra de arte, completándolo con una elegante firma fluida en la esquina. Lo único que hice realmente fue darte el lienzo. Y mi bendición.
Separa siempre el bien del mal y deja que los demás vean tus buenas obras.