Saat aliran teks berputar di depan mata pemuda itu, pikirannya melayang memikirkan banyak hal. Namun mereka harus menunggu, karena dia memfokuskan pandangannya konsentrasi penuh pada perubahan pola di depannya. Kilatan cahaya memantulkan sepotong kode yang terkubur menarik perhatiannya dan segala harapan yang dimilikinya hilang. Saat dia melirik ke samping, pemandangannya menjadi berbeda. Pria muda itu menghela nafas kecil dan berjalan dengan susah payah dengan sikap pasrah, ditakdirkan untuk mengembara di bank kode yang terpencil selamanya.
Differ adalah pustaka diff Ruby murni yang fleksibel, cocok untuk digunakan dalam skrip baris perintah dan aplikasi web. Fleksibilitas berasal dari fakta bahwa diff dapat dibuat pada tingkat granularitas yang berubah-ubah (beberapa diff umum sudah ada di dalamnya), dan dapat dihasilkan dalam berbagai format.
sudo gem install berbeda
Ada beberapa cara untuk menggunakan Differ, bergantung pada situasi dan kebutuhan Anda.
@original = "lolcat epik gagal!" @current = "Manusia serigala epik gagal!"
Anda dapat memanggil modul Differ secara langsung.
memerlukan 'berbeda'
Ada sejumlah metode diff bawaan yang dapat dipilih…
@diff = Berbeda . diff_by_line ( @saat ini , @asli ) # => "{"Lolcat epik gagal!" >> "Manusia serigala epik gagal!"}" @diff = Berbeda . diff_by_word ( @saat ini , @asli ) # => "Epik {"lolcat" >> "manusia serigala"} gagal!" @diff = Berbeda . diff_by_char ( @saat ini , @asli ) # => "Epik {+"wo"}l{-"olcat "}f{+"m"}a{+"n fa"}il!"
… atau hubungi #diff secara langsung dan berikan string batas Anda sendiri!
@diff = Berbeda . diff ( @current , @original ) # secara implisit per baris! # => "{"Lolcat epik gagal!" >> "Manusia serigala epik gagal!"}" @diff = Berbeda . diff ( @saat ini , @asli , 'i' ) # => "Epi{"c lolcat fa" >> "c manusia serigala fa"}il"
Jika Anda menginginkan sesuatu yang lebih inline…
memerlukan 'berbeda/string' @diff = @saat ini . diff ( @original ) # secara implisit per baris! # => "{"Lolcat epik gagal!" >> "Manusia serigala epik gagal!"}"
… atau lebih banyak lagi sebaris…
@diff = ( @current - @original ) # secara implisit per baris! # => "{"Lolcat epik gagal!" >> "Manusia serigala epik gagal!"}" $; = '' @diff = ( @saat ini - @asli ) # => "Epik {"lolcat" >> "manusia serigala"} gagal!"
… kami siap membantu Anda.
Butuh format keluaran yang berbeda? Kami juga punya beberapa di antaranya.
Berbeda . format = :ascii # <- Bawaan Berbeda . format = :warna Berbeda . format = :html Berbeda . format = MyCustomFormatModule
Tidak ingin mengubah default seluruh sistem hanya untuk satu keluaran diff? Ya, aku juga.
@diff = ( @saat ini - @asli ) @diff . format_as ( :warna )
Hak Cipta © 2009 Pieter Vande Bruggen.
(Lisensi HADIAH, v1)
Izin dengan ini diberikan untuk menggunakan perangkat lunak ini dan/atau kode sumbernya untuk tujuan apa pun yang Anda pilih. Serius, jadi gila. Gunakan untuk pembaca RSS feed pribadi Anda, jaringan sosial Anda yang sangat menguntungkan, atau misi Anda ke Mars.
Aku tidak peduli, itu milikmu. Ubah namanya jika Anda mau – bahkan, jika Anda mulai mengubah fungsinya secara signifikan, saya lebih suka Anda melakukannya! Jadikan ini karya seni kecil Anda sendiri, lengkap dengan tanda tangan mengalir penuh gaya di sudutnya. Yang sebenarnya kulakukan hanyalah memberimu kanvas. Dan restuku.
Ketahui selalu benar dan salah, dan biarkan orang lain melihat perbuatan baik Anda.