2014-01-24 2 views
0

이전 입력을 받아 들인 후 더 많은 입력을 요구하는 프롬프트를 콘솔에서 실행되는 루비 스크립트를 만들고 싶다.콘솔에서 루비 스크립트가 완료 될 때까지 입력을 계속 받아 들인다.

나는 이전 입력 이후에 다시 프롬프트를 표시하는 것을 제외하고는 어떻게되는지 알고 있습니다. 입력 후 스크립트가 멈 춥니 다.

방금 ​​while 루프에서 실행하거나 더 좋은 방법이 있습니까?

+1

당신은 실제로 시도한 것에 대한 예를 포함시켜 귀하의 노력을 보여 주어야합니다. 그렇지 않으면 아무 것도하지 않고 코드를 낚시하는 것처럼 보입니다. –

+0

아, 좋은 지적이야. 나는 그렇게하지 않았지만 그것을 명심하겠습니다. – isea

답변

3

네 ,, 당신이 keywordwhile 사용하여 아래와 같이 무언가로 시도 할 수 있습니다 :

명령 프롬프트에서 문자열 'Exit'/ 'exit'/ 'Quit'/ 'quit'를 입력 동안, 당신의 while 루프가 중지됩니다
puts "Give your inputs" 

while (a = gets.chomp) != 'exit' 
    puts a 
end 

# or use until as below 
until (a = gets.chomp) =~ /(?:ex|qu)it/i 
     puts a 
end 

, 그렇지 않으면 계속해서 다음 입력을 요구합니다.

+0

덕분에, 그것은 본질적으로 루프 밖에서 "a"를 지정하고 무한 루프를 얻는 것 외에는 내가 한 일입니다. 잠시 동안 "a"를 지정하면 루프를 통해 매번 다시 호출되기 때문에이를 피할 수 있습니까? – isea

+0

@isea 예 .. 정확히 .. 첫 번째는'a'에 할당되고, 그 다음에 'exit'와 비교됩니다. –

+0

'until (a = gets.chomp) ~ =/[Ee] xit | [Qq] uit /'더 많은 의도를 드러내고 'Exit' 'exit'를 지원합니다. 'quit' 'quit'' – bjhaid

관련 문제