루아, 77 75 65 바이트
x,v=z.rep,io.read()for a=1,v do print(x(0,a-1)..'1'..x(0,v-a))end
글쎄, 루아가 두 기간의 연결로이 언어에 가장 적합한 언어인지 확실하지 않습니다 ...하지만 이봐. 개선이 있는지 살펴 보겠습니다.
편집하다:
나는 다소 이상한 것을 발견했을 때 우연히 무언가를 알아 냈지만 작동합니다.
루아에서는 모든 사람이 함수를 변수에 할당 할 수 있다는 것을 알고 있습니다. 이것은 더 유용한 CodeGolf 기능 중 하나입니다.
이것은 다음 대신을 의미합니다.
string.sub("50", 1, 1) -- = 5
string.sub("50", 2, 2) -- = 0
string.sub("40", 1, 1) -- = 4
string.sub("40", 2, 2) -- = 0
당신은 이것을 할 수 있습니다 :
s = string.sub
s("50", 1, 1) -- = 5
s("50", 2, 2) -- = 0
s("40", 1, 1) -- = 4
s("40", 2, 2) -- = 0
그러나 루아는 약간의 OOP를 허용합니다. 따라서 잠재적으로 다음을 수행 할 수 있습니다.
z=""
s = z.sub
s("50", 1, 1) -- = 5
s("50", 2, 2) -- = 0
s("40", 1, 1) -- = 4
s("40", 2, 2) -- = 0
그것은 잘 작동하고 캐릭터를 자릅니다.
이제 이상한 부분이 온다. 어떤 시점에서도 문자열을 할당 할 필요가 없습니다. 단순히하기 :
s = z.sub
s("50", 1, 1) -- = 5
s("50", 2, 2) -- = 0
s("40", 1, 1) -- = 4
s("40", 2, 2) -- = 0
작동합니다.
따라서 차이점을 시각적으로 볼 수 있으며 골프 결과를 살펴보십시오.
string.sub 사용 (88 자)
string.sub("50", 1, 1)string.sub("50", 2, 2)string.sub("40", 1, 1)string.sub("40", 2, 2)
string.sub를 변수에 할당 (65 자)
s=string.sub s("50", 1, 1)s("50", 2, 2)s("40", 1, 1)s("40", 2, 2)
OOP 접근 방식을 사용하여 string.sub 할당 (64 자)
z=""s=z.sub s("50", 1, 1)s("50", 2, 2)s("40", 1, 1)s("40", 2, 2)
nil 접근 방식을 사용하여 string.sub를 할당 하시겠습니까? (60 자)
s=z.sub s("50", 1, 1)s("50", 2, 2)s("40", 1, 1)s("40", 2, 2)
이것이 왜 작동하는지 누군가가 알고 있다면 관심이 있습니다.