Alors que des flots de textes tourbillonnaient devant les yeux du jeune homme, son esprit nageait avec pensées de beaucoup de choses. Ils devraient cependant attendre, car il concentrait son attention sur pleine concentration sur les schémas changeants qui l'attendent. Un reflet de lumière la réflexion sur un morceau de code enfoui attira son attention et tout espoir qu'il avait était perdu. À l’instant même où il détourna le regard, le paysage devint différent. Le jeune homme poussa un petit soupir et poursuivit son chemin avec une résignation solennelle. destiné à errer à perpétuité dans les banques de codes désolées.
Differ est une bibliothèque de différences flexible et purement Ruby, adaptée à une utilisation à la fois dans les scripts de ligne de commande et dans les applications Web. La flexibilité vient du fait que les différences peuvent être construites à des niveaux de granularité complètement arbitraires (certains niveaux courants sont intégrés) et peuvent être sorties dans une variété de formats.
l'installation de sudo gem diffère
Il existe plusieurs façons d’utiliser Differ, en fonction de votre situation et de vos besoins.
@original = "Échec épique mdr!" @current = "Échec épique de Wolfman!"
Vous pouvez appeler directement le module Differ.
exiger 'différer'
Il existe un certain nombre de méthodes de comparaison intégrées parmi lesquelles choisir…
@diff = Différent . diff_by_line ( @current , @original ) # => "{"Échec épique du lolcat!" >> "Échec épique du loup-garou!"}" @diff = Différent . diff_by_word ( @current , @original ) # => "Epic {"lolcat" >> "wolfman"} échoue !" @diff = Différent . diff_by_char ( @current , @original ) # => "Epic {+"wo"}l{-"olcat "}f{+"m"}a{+"n fa"}il!"
… ou appelez #diff directement et fournissez votre propre chaîne de limite !
@diff = Différent . diff ( @current , @original ) # implicitement par ligne ! # => "{"Échec épique du lolcat!" >> "Échec épique du loup-garou!"}" @diff = Différent . diff ( @current , @original , 'i' ) # => "Epi{"c lolcat fa" >> "c wolfman fa"}il"
Si vous souhaitez quelque chose d’un peu plus en ligne…
nécessite 'différent/chaîne' @diff = @courant . diff ( @original ) # implicitement par ligne ! # => "{"Échec épique du lolcat!" >> "Échec épique du loup-garou!"}"
… ou beaucoup plus en ligne…
@diff = ( @current - @original ) # implicitement par ligne ! # => "{"Échec épique du lolcat!" >> "Échec épique du loup-garou!"}" $ ; = ' ' @diff = ( @actuel - @original ) # => "Epic {"lolcat" >> "wolfman"} échoue !"
… nous avons ce qu'il vous faut.
Besoin d'un format de sortie différent ? Nous en avons également quelques-uns.
Différent . format = :ascii # <- Par défaut Différent . format = :couleur Différent . format = :html Différent . format = MonModuleFormatPersonnalisé
Vous ne souhaitez pas modifier la valeur par défaut à l'échelle du système pour une seule sortie de différence ? Ouais, moi non plus.
@diff = ( @actuel - @original ) @diff . format_as ( :couleur )
Copyright © 2009 Pieter Vande Bruggen.
(La licence GIFT, v1)
L'autorisation est accordée par la présente d'utiliser ce logiciel et/ou son code source aux fins que vous choisirez. Sérieusement, deviens fou. Utilisez-le pour votre lecteur de flux RSS personnel, votre réseau social extrêmement rentable ou votre mission sur Mars.
Je m'en fiche, c'est à toi. Changez le nom si vous le souhaitez – en fait, si vous commencez à changer de manière significative ce qu’il fait, je préférerais que vous le fassiez ! Faites-en votre propre petite œuvre d’art, complétée par une signature fluide et élégante dans le coin. Tout ce que j'ai fait, c'est te donner la toile. Et ma bénédiction.
Sachez toujours le bien du mal et laissez les autres voir vos bonnes œuvres.