Ruby 언어로 숫자 맞추기 게임을 작성해 보았다.
Python 언어의 input() 함수에 대응하는 함수로서 사용자가 컨솔에서 입력한 것을 스트링으로 받는 Ruby 언어의 함수는 gets()이다. 그런데 Ruby 언어의 간편 구문표기(syntax sugar)에 따라 소괄호 열기와 닫기를 생략하여 gets만 해도 된다. 즉 아래 소스의 14째 줄
sbuf = gets
는
sbuf = gets()
의 간편 구문표기(syntax sugar)이다.
아래 소스의 15째 줄 guess = sbuf.to_i 는 스트링을 정수로 타입변환하는 과정이다.
소스 파일명: guessNumber01.rb
- #!/env/ruby
- #
- # Filename: guessNumber01.rb
- # Purpose: Interatice game guessing a given number.
- # if CONDITION
- # ......
- # else
- # ......
- # end
- # Execute: ruby guessNumber01.rb
- def doGuessing(num)
- puts("Enter your guess:")
- sbuf = gets
- guess = sbuf.to_i
- if guess == num
- puts("You win!")
- return
- end
- # we won't get here if guess == num
- if guess < num
- puts("Too low!")
- doGuessing(num)
- else
- puts("Too high!")
- doGuessing(num)
- end
- end
- doGuessing(123)
실행> ruby guessNumber01.rb
Enter your guess:
111
Too low!
Enter your guess:
222
Too high!
Enter your guess:
123
You win!
위의 소스는 JRuby 1.1.6으로 실행해도 똑같이 실행된다.
실행> jruby guessNumber01.rb
Enter your guess:
111
Too low!
Enter your guess:
222
Too high!
Enter your guess:
123
You win!
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
'프로그래밍 > Ruby' 카테고리의 다른 글
높은 버전(1.9.2 이상)의 Ruby 언어에서 (UTF-8 인코딩) 한글 문자열 거꾸로 하기 (0) | 2012.12.06 |
---|---|
Mac OS X Lion 에서 Ruby 1.9.2 설치하여 Tk GUI 사용하기 (0) | 2011.08.25 |
스트링 리스트에서 스트링 찾기(find) with Ruby (0) | 2009.04.22 |
스트링 배열 정렬(sorting)하기 with Ruby (0) | 2009.04.15 |
Pollard's rho method 소개: 정수의 인수분해(factorizing integers) with Ruby (0) | 2009.03.24 |