글자, 도트, 공백 및 개행 문자 만 사용하여 문자열을 인쇄하는 프로그램을 작성하는 것은 처음에는 불가능한 것처럼 보일 수 있지만 사실 그리 어렵지 않습니다.
소문자와 대문자는 Kernel
방법 (print
및 puts
등)뿐만 아니라 nil
, false
및 true
같은 keywords를 호출 할 수 있습니다. 점을 사용하면 명시 적 수신자로 메소드를 호출 할 수 있습니다. Space를 사용하면 메서드에 인수를 전달할 수 있습니다. 뉴 라인은 명령을 분리합니다.
는의는 "A"를 얻으려고하자
false #=> false
false.inspect #=> "false"
false.inspect.chars #=> ["f", "a", "l", "s", "e"]
false.inspect.chars.rotate #=> ["a", "l", "s", "e", "f"]
false.inspect.chars.rotate.first #=> "a"
지금 인쇄 "ABC"를 할 수 있습니다 :
print false.inspect.chars.rotate.first
print false.inspect.chars.rotate.first.succ
print false.inspect.chars.rotate.first.succ.succ
puts
출력 :
abc
당신은 아이디어를 얻을.
그리고 비슷한 방법으로 공백, 구두점 및 숫자를 인쇄 할 수도 있습니다. 하지만 나는 너에게 맡긴다. 사용 가능한 방법을보고 창조적으로 생각하십시오.
공백을 사용하지 않고 문자열을 인쇄하는 방법을 알아 내려는 추가 점은 단지 [a-zA-Z.\n]
입니다.
이것은 http://codegolf.stackexchange.com에서 좋은 작업이 될 것입니다. – knut