소개
“Hello, World!” 프로그램은 컴퓨터 프로그래밍에서 전통적이고 역사 있는 관례입니다. 이는 초보자를 위한 작고 완전한 첫 프로그램이며, 환경이 올바르게 구성되어 있는지 확인하는 좋은 방법입니다.
이 자습서에서는 Ruby에서 이 프로그램을 생성하는 방법을 안내합니다. 그러나 프로그램을 더 흥미롭게 만들기 위해 전통적인 “Hello, World” 프로그램을 수정하여 사용자에게 이름을 묻도록 할 것입니다. 그런 다음 인사말에 해당 이름을 사용합니다. 자습서를 마치면 프로그램을 실행할 때 이렇게 보이게 됩니다:
OutputPlease enter your name.
Sammy
Hello, Sammy! I'm Ruby!
필수 사항
컴퓨터에 로컬 Ruby 개발 환경이 설정되어 있어야 합니다. 다음 자습서 중 하나를 따라 설정하세요:
- macOS에 Ruby 설치 및 로컬 프로그래밍 환경 설정하는 방법
- 우분투 16.04에 루비를 설치하고 로컬 프로그래밍 환경을 설정하는 방법
- 윈도우 10에 루비를 설치하고 로컬 프로그래밍 환경을 설정하는 방법
단계 1 — 기본 “Hello, World!” 프로그램 작성하기
“Hello, World!” 프로그램을 작성하려면 nano
와 같은 명령 줄 텍스트 편집기를 열고 새 파일을 만듭니다:
- nano hello.rb
텍스트 파일이 터미널 창에서 열리면 프로그램을 입력하게 됩니다:
puts "Hello, World!"
코드의 다른 구성 요소를 살펴보겠습니다.
puts
는 컴퓨터에 일부 텍스트를 화면에 출력하라고 지시하는 루비 메소드입니다.
그런 다음 puts
메소드 다음에는 따옴표로 묶인 문자 시퀀스 — Hello, World!
가 이어집니다. 따옴표 안에 있는 모든 문자를 문자열이라고 합니다. 프로그램이 실행될 때 puts
메소드는 이 문자열을 화면에 출력합니다.
일부 메서드는 Ruby에 기본적으로 포함되어 있습니다. 이러한 내장 메서드는 항상 Ruby 프로그램을 작성할 때 사용할 수 있습니다. 또한 사용자 정의 메서드를 정의할 수도 있습니다.
nano
를 입력하여 저장하고 나가려면 CONTROL
및 X
키를 입력하고 파일을 저장하라는 프롬프트가 표시되면 y
를 누르고 ENTER
키를 누르세요.
이제 프로그램을 실행해 봅시다.
Ruby 프로그램 실행 단계
작성한 “Hello, World!” 프로그램으로 프로그램을 실행할 준비가 되었습니다. 방금 생성한 파일 이름 뒤에 ruby
명령을 사용합니다.
- ruby hello.rb
프로그램이 실행되고 다음 출력이 표시됩니다:
OutputHello, World!
실제로 무엇이 발생했는지 살펴보겠습니다.
ruby
명령을 실행하면 Ruby 인터프리터가 시작됩니다. Ruby 인터프리터는 지정된 파일을 읽고 그 내용을 평가합니다. puts "Hello, World!"
라인을 실행하여 puts
함수를 호출했습니다. 문자열 값 Hello, World!
이 함수로 전달되었습니다.
이 예제에서 문자열 Hello, World!
은 메서드에 전달되는 값이므로 인수로도 불립니다.
Hello, World!
양쪽에 있는 따옴표는 Ruby에게 그것이 문자열을 포함하고 있음을 알리기 위해 사용되어 화면에 출력되지 않았습니다. 따옴표는 문자열이 시작하고 끝나는 곳을 나타냅니다.
프로그램은 작동하지만 더 인터랙티브하게 만들 수 있습니다. 어떻게 할지 살펴보겠습니다.
단계 3 — 입력 요구
프로그램을 실행할 때마다 동일한 출력이 생성됩니다. 프로그램을 실행하는 사람에게 이름을 묻는 것으로 변경해보겠습니다. 그런 다음 출력에서 해당 이름을 사용할 수 있습니다.
기존 프로그램을 수정하는 대신 nano
편집기에서 greeting.rb
이라는 새 프로그램을 만듭니다:
- nano greeting.rb
먼저 사용자에게 이름을 입력하도록 하는 이 줄을 추가하십시오:
puts "Please enter your name."
한 번 더, 화면에 텍스트를 출력하기 위해 puts
메소드를 사용합니다.
이제 사용자 입력을 캡처하기 위해 이 줄을 추가하십시오:
puts "Please enter your name."
name = gets
다음 줄은 좀 더 복잡합니다. 하나씩 살펴보겠습니다.
gets
메소드는 컴퓨터에게 키보드로부터 입력을 기다리도록 지시합니다. 이는 프로그램을 일시 중지시켜 사용자가 원하는 모든 텍스트를 입력할 수 있도록 합니다. 사용자가 키보드의 ENTER
키를 누르면 프로그램이 계속됩니다. ENTER
키 입력을 포함한 모든 키 입력은 문자열로 캡처되고 변환됩니다.
당신은 프로그램의 출력에서 이러한 문자를 사용하려고 하기 때문에 해당 문자를 name
이라는 변수에 문자열을 할당하여 저장합니다. Ruby는 그 문자열을 프로그램이 완료될 때까지 컴퓨터 메모리에 저장합니다.
마지막으로 출력하는 데 이 줄을 추가하세요:
puts "Please enter your name."
name = gets
puts "Hi, #{name}! I'm Ruby!"
puts
메서드를 다시 사용하지만 이번에는 Ruby 기능인 문자열 보간을 사용합니다. 이 기능을 사용하면 변수에 할당된 값을 문자열 안에 넣을 수 있습니다. name
대신에 사용된 단어는 name
변수에 저장된 값을 가져옵니다. 이 값은 사용자의 이름이어야 합니다.
nano
를 빠져나가려면 CTRL+X
를 누르고 파일을 저장하라는 메시지가 나오면 y
를 누르고 ENTER
를 누르세요.
이 명령으로 프로그램을 실행하세요:
- ruby greeting.rb
이름을 입력하라는 프롬프트가 표시되면 이름을 입력하고 ENTER
를 누르세요. 출력 결과는 정확히 원하는 대로 나타나지 않을 수 있습니다:
OutputPlease enter your name.
Sammy
Hi, Sammy
! I'm Ruby!
Hi, Sammy! I'm Ruby!
가 아니라 이름 바로 뒤에 줄 바꿈이 있습니다.
프로그램은 계속하라고 알려주기 위해 누른 ENTER
키를 포함하여 모든 키 입력을 캡처합니다. 문자열에서 ENTER
키를 누르면 새 줄을 생성하는 특수 문자가 생성됩니다. 프로그램의 출력 결과는 당신이 입력한 텍스트를 정확히 표시하고 있습니다. 새 줄을 포함하여 표시된 것입니다. 그러나 원하는 결과가 아닙니다. 그러나 이를 수정할 수 있습니다.
에디터에서 greeting.rb
파일을 엽니다:
- nano greeting.rb
프로그램에서 이 줄을 찾습니다:
name = gets
name = gets.chop
이것은 gets
로 캡처한 문자열에 Ruby의 chop
메소드를 사용합니다. chop
메소드는 문자열에서 맨 마지막 문자를 제거합니다. 이 경우에는 ENTER
를 누를 때 생성된 문자열 끝의 줄 바꿈 문자를 제거합니다.
nano
에서 저장하고 나가려면 CTRL+X
를 누르고 파일을 저장하라는 메시지가 나오면 y
를 누릅니다.
프로그램을 다시 실행합니다:
- ruby greeting.rb
이번에는 이름을 입력한 후 ENTER
를 누르면 예상 출력이 나옵니다:
OutputPlease enter your name.
Sammy
Hi, Sammy! I'm Ruby!
이제 사용자로부터 입력을 받고 화면에 출력하는 Ruby 프로그램이 있습니다.
결론
이제 입력을 받고 결과를 처리하고 출력하는 방법을 알았으니 프로그램을 더 확장해 보세요. 예를 들어 사용자의 좋아하는 색상을 물어보고 프로그램이 자신의 좋아하는 색상이 빨간색이라고 말하도록 할 수 있습니다. 심지어 이 같은 기술을 사용하여 간단한 매드립 프로그램을 만들어 볼 수도 있습니다.
Source:
https://www.digitalocean.com/community/tutorials/how-to-write-your-first-ruby-program