젊은이의 눈앞에 텍스트의 흐름이 소용돌이치자 그의 마음은 다음과 같이 헤엄쳤습니다. 많은 것들의 생각. 그러나 그가 집중하는 동안 그들은 기다려야만 했습니다. 그 앞에 있는 변화하는 패턴에 완전히 집중하세요. 빛의 반짝임 묻힌 코드 조각을 반사하는 것이 그의 눈을 사로잡았고 그가 가졌던 희망은 잃어버린. 그가 옆을 힐끗 본 순간, 풍경은 달라졌다. 청년은 작은 한숨을 쉬며 엄숙한 사념의 마음으로 터벅터벅 앞으로 나아갔다. 영원히 황폐한 코드뱅크를 떠돌게 될 운명.
Differ는 명령줄 스크립트와 웹 애플리케이션 모두에 사용하기에 적합한 유연한 순수 Ruby diff 라이브러리입니다. 유연성은 diff가 완전히 임의적인 수준의 세분성(일부 일반적인 것들은 내장되어 있음)으로 구축될 수 있고 다양한 형식으로 출력될 수 있다는 사실에서 비롯됩니다.
sudo gem 설치가 다릅니다
상황과 필요에 따라 Differ를 사용하는 방법에는 여러 가지가 있습니다.
@original = "에픽 롤캣 실패!" @current = "에픽 울프맨 실패!"
Differ 모듈을 직접 호출할 수 있습니다.
'다르다'가 필요하다
선택할 수 있는 다양한 비교 방법이 내장되어 있습니다…
@diff = 다르다 . diff_by_line ( @current , @original ) # => "{"에픽 롤캣 실패!" >> "에픽 울프맨 실패!"}" @diff = 다르다 . diff_by_word ( @current , @original ) # => "에픽 {"lolcat" >> "wolfman"} 실패!" @diff = 다르다 . diff_by_char ( @current , @original ) # => "에픽 {+"wo"}l{-"olcat "}f{+"m"}a{+"n fa"}il!"
… 또는 #diff를 직접 호출하고 자신만의 경계 문자열을 제공하세요!
@diff = 다르다 . diff ( @current , @original ) # 암시적으로 한 줄씩! # => "{"에픽 롤캣 실패!" >> "에픽 울프맨 실패!"}" @diff = 다르다 . diff ( @current , @original , 'i' ) # => "Epi{"c locat fa" >> "c 울프맨 파"}il"
좀 더 인라인적인 것을 원한다면…
'다름/문자열' 이 필요합니다 . @diff = @현재 . diff ( @original ) # 암시적으로 한 줄씩! # => "{"에픽 롤캣 실패!" >> "에픽 울프맨 실패!"}"
… 아니면 훨씬 더 많은 인라인…
@diff = ( @current - @original ) # 암시적으로 한 줄씩! # => "{"에픽 롤캣 실패!" >> "에픽 울프맨 실패!"}" $; = ' ' @diff = ( @current - @original ) # => "에픽 {"lolcat" >> "wolfman"} 실패!"
… 우리는 당신을 거의 다뤘습니다.
다른 출력 형식이 필요합니까? 우리도 그 중 몇 가지를 가지고 있습니다.
다르다 . 형식 = :ascii # <- 기본값 다르다 . 형식 = :색상 다르다 . 형식 = :html 다르다 . 형식 = MyCustomFormatModule
단일 diff 출력에 대해서만 시스템 전체 기본값을 변경하고 싶지 않으십니까? 응, 나도 마찬가지야.
@diff = ( @current - @original ) @diff . 형식_as ( :color )
저작권 © 2009 Pieter Vande Bruggen.
(선물 라이센스, v1)
이에 따라 귀하가 선택하는 목적에 관계없이 이 소프트웨어 및/또는 해당 소스 코드를 사용할 수 있는 권한이 부여됩니다. 진심으로, 미쳐 가세요. 개인 RSS 피드 리더, 수익성이 높은 소셜 네트워크 또는 화성 탐사에 사용하세요.
난 상관없어, 그건 네 거야. 원하는 경우 이름을 변경하십시오. 실제로 기능을 크게 변경하기 시작하면 변경하는 것이 좋습니다! 모서리에 스타일리시하게 흐르는 시그니처를 추가하여 나만의 작은 예술 작품을 만들어보세요. 내가 실제로 한 일은 당신에게 캔버스를 준 것뿐이었습니다. 그리고 나의 축복.
항상 옳고 그름을 알고, 다른 사람들에게 당신의 선행을 보여 주십시오.