저는 Ruby에 대해 처음이므로 제안 할 수있는 조언을 제공해주십시오. 고맙습니다. 오늘 나는 거의 끝났습니다. 결국 간단히 다시 끝내고 싶습니다. 사용자가 다시 게임을하고 싶어하는지 묻습니다. 나는 If Else 문을 수행하는 방법을 알고 있지만 게임이 시작되는 코드 줄로 돌아갈 방법은 모르겠다. 나는 약간의 연구를했고 goto라고 불리는 것을 발견했지만 그것을 사용해서는 안된다는 것을 발견했다. 어쨌든 모든 것을 망쳐 놓지 않고 특정 코드 행으로 갈 수 있습니까? 모든 도움에 감사드립니다.특정 코드 행으로 건너 뛰는 방법
의 예는 다음과 같습니다
print "Would you like to play again?"
puts "Yes or no"
again = gets.chomp!
again.capitalize!
if again == "Yes"
(Code to send back to line 9)
end
루비는 실제로 'goto' 문을 가지고 있지 않으며 실제로 원하지 않습니다. 코드를 즉시 유지 보수 할 수 없게 만듭니다. Ruby가 문제에 접근하는 방법을 설명 할 수 있도록 수행하려는 작업에 대한 구체적인 예를 들려 줄 수 있습니까? – tadman
대부분의 게임은 사용자 또는 다양한 인게임 타이머에 의해 시작된 작업이 처리되는 [* 이벤트 루프 *] (https://en.wikipedia.org/wiki/Event_loop) 개념을 중심으로 구성됩니다. 각 이벤트는 일반적으로 순서대로 개별적으로 처리됩니다. 여기서 이벤트는 버튼을 누르거나 마우스를 움직일 수 있습니다. 특정 코드 행으로 되돌아 갈 필요가 없습니다. 왜냐하면 핸들러가 끝나면 단지 루프백되고 의도적으로 다른 일을하기 때문입니다. – tadman
'loop do .... end' 루프에 코드를 넣으십시오. 그것은'break' 또는'break x' ('x'는 반환 값)가 발생할 때까지 반복됩니다. 어떤 것은'while (true) ... end'를 사용하지만,'loop do'을 가장 선호합니다. 간단한 예제를 포함하여 자세한 내용은 [Kernel # loop] (http://ruby-doc.org/core-2.3.0/Kernel.html#method-i-loop)를 참조하십시오. –