Ruby라는 언어로 만든 프로그램임.



사실 원래 Ruby라는 언어가 이렇게 조또 병신같이 생긴 언어는 아니지만 그냥 코드를 감상하자. 

어차피 이해할 필요 없다.


코드에 대문짝만하게 공백으로 '도쿄'라는 한자가 표시되어 있다.


이 코드가 뭐하는 놈인지 설명하기 전에 일단 코드를 실행시켜 보자.










실행시켰더니 또 병신같은 똥덩어리 코드 속에 '칸다'라는 글자가 파묻혀져있다.


어쨌든 코드가 나왔으니 한번 더 실행시켜보자.








'아키하바라'가 나왔다.


이쯤되면 숙련된 철갤러라면 눈치 챘을 것이다.


나온 코드를 한번 더 실행시켜보자.









오카치마치다.


즉 이 코드는 


실행시키면 '일본 야마노테 선의 다음 역이 새겨진 코드가 나오는 프로그램' 이란 것이다!



그런데 야마노테선은 빙글빙글 돌지.


코드도 빙글빙글 돈다.





총 28번을 진행하고 유라쿠쵸 까지 간 다음 나온 유라쿠쵸 코드를 실행시키면....?






원래 코드인 도쿄가 나온다.


솔직히 말해서 원래 코드로 되돌아 온다는게 더 신기함.















P.S.



Q. 도쿄에 있는 사람이 유라쿠쵸까지 가려면 28번 쳐야함? 언제 가 씨발.




A. rev인수를 주면 역방향으로 돈다.





내가 만든건 아니고 일본의 엔도 유스케라는 사람이 만들었다고 한다.

https://github.com/mame/trance-b**k/blob/master/1-1-2/yamanote-quine.rb

(어떤 미친놈이 o^2 k을 금지어로 설정했는지 모르겠는데 **를 oo로 바꾸면 원본 코드를 볼 수 있음)