코드를 휘젓는 몇 개의 문자를 제거하는 코드 골프 항목을 볼 때, 나란히 다른 diff에 대한 편집 히스토리를 살펴 보겠습니다. 보고 배우기 :)
이 과제는 가장 귀여운 애니메이션 차이를 생성하는 프로그램을 만드는 것입니다.
- 입력은 일련의 일련의 텍스트 버전이됩니다.
- 프로그램은 모든 프로그래밍 언어로 작성 될 수 있습니다.
- 프로그램이 특정 프로그래밍 언어로 데이터를 입력하도록 제한하는 것이 허용됩니다.
- 프로그램은 특정 입력 데이터로 조정되지 않아야합니다. 이 프로그램은 일반적이어야하며 주문 된 일련의 텍스트 버전에서 작동해야합니다.
- 입력의 각 버전에 대해 버전의 전체 텍스트가 표시되는 출력 애니메이션에 해당 시간이 있어야합니다. 버전 단계 사이의 차이를 애니메이션해야하며 모든 버전 단계가 있어야하며 출력에 순서대로 있어야합니다. 이 키 프레임에는 버전 크기가 표시되어야하며 뷰어는 이것이 해당 시점에서보고있는 완전한 버전임을 이해해야합니다.
- 프로그램은 diff를 계산하기 위해 타사 코드를 사용할 수 없습니다.
- 구문 강조 출력은 선택 사항입니다. 프로그램이 구문 색상을 지정하는 경우 타사 코드를 사용하지 않을 수 있습니다.
- 출력은 애니메이션 GIF입니다.
- 프로그램은 타사 라이브러리를 사용하여 GIF를 작성할 수 있습니다.
- 이것은이다 인기 콘테스트 정도의 정의에 따라, 인기 콘테스트 이 사이트에서 가장 많은 표를 승리로 항목 .
다음 은 Python의 ndiff 와 Pillow의 기본적인 애니메이션 GIF 지원을 사용하고 각 추가 및 제거 단계에 애니메이션을 적용 하는 간단한 예제 스크립트 입니다 .
개인적으로, 이것은 꽤 가난한 직업이라고 생각합니다. 구문 강조 표시를 수행하지 않고 재 배열 된 코드 청크를 이동하거나 이동하지 않으며 누군가가 실시간으로 편집하는 느낌이 들지 않습니다. 또한 키 프레임에서 입력 크기를 바이트 단위로 표시하는 것과 관련된 규칙을 위반하고 타사 라이브러리를 사용하여 디핑을 수행합니다. 개선의 여지가 많습니다!
또한 잘 알려진 항목이 codegolf.stackexchange.com 커뮤니티에도 유용한 재미있는 도구가되기를 바랍니다. 따라서 다른 사람들이 프로그램을 쉽게 실행하고 사용할 수 있다면 높이 평가됩니다.