본문 바로가기

Back-End/Ruby

[Ruby] Codecademy - 5. 반복문(Loops) & 반복자(Iterators) 1. 'While' 반복문어떤 조건이 참인 동안 루비에서 특정 작업을 계속 반복시키려 하지만, 얼마동안 반복시켜야 할 지 모르는 경우가 종종 있습니다. 특정 형태의 입력값을 사용자에게 요구하는 경우가 좋은 예시가 되겠군요: 사용자가 계속 잘못된 입력값을 입력한다면, 올바른 입력값을 얻을 때까지 계속해서 여러번 입력을 요구해야 하기 때문이죠.이런 경우에 while 반복문을 사용합니다. 이 반복문은 만약 특정 조건이 참인 동안(while), 계속해서 해당 코드의 실행을 반복합니다. 그러다가 특정 조건이 거짓으로 판명되는 순간, 반복을 멈춥니다!12345counter = 1while counter 10 puts counter counter = counter + 1endcs 4. 더 많은 할당 연산자(Assig.. 더보기
[Ruby] Codecademy - 4. Thith Meanth War! 1. 여러분이 만들 것은..if/else 명령문을 사용하여 프로그램을 제어함으로써, 이제 여러분은 사용자의 다른 입력값을 바탕으로 각기 다른 결과값에 이르도록 만들 수 있습니다.이번 프로젝트에서는 흐름 제어와 루비의 몇 가지 새로운 문자열 메소드를 조합하여 "s"를 "th"로 바꾸는 연습을 해봅시다. 2. 사용자로부터 입력값(Input) 받기제일 처음으로, 사용자들에게 입력값을 요구하는 문장을 출력하도록 print 명령문을 작성하세요. 그런 다음, gets.chomp를 사용하여 입력값을 받아 변수에 저장하세요.12print "input please: "user_input = gets.chompcs 3. 소문자로!사용자의 입력값에서 대문자와 소문자를 모두 고려해야 하므로, "S"와 "s" 두 경우를 전부 .. 더보기
[Ruby] Codecademy - 3. 루비에서의 흐름제어(Control Flow) 1. 작동 원리루비에서 우리가 지금까지 작성했던 프로그램들이 그렇게 유연하지만은 않다는 것을 눈치채셨을 겁니다. 맞습니다. 이들 프로그램은 사용자로부터 입력값을 받을 순 있지만, 항상 같은 결과값만을 내놓죠; 작성된 프로그램들은 현재 환경(environment)(주어진 어떤 시점에 프로그램 안에 존재하는 모든 변수와, 여기에 할당된 값의 모음)의 변화에 따라 반응하지 않습니다.흐름제어(Control Flow)는 우리가 찾고있는 유연성을 코드에 부여해 줍니다. 사용자의 입력값이나 계산 결과, 또는 프로그램의 다른 부분에서 반환된 값에 따라 각기 다른 결과값을 선택할 수 있습니다. 2. if 구문루비의 if 명령문은 하나의 수식(expression)을 갖는데요, 이는 값을 갖는 간단한 단어입니다(예를 들어 .. 더보기
[Ruby] Codecademy - 2. Formatter 안에 양식 넣기 1. 여러분이 만들 것은..이 프로젝트는 사용자의 입력값을 읽어 대소문자를 올바르게 고쳐주는 작은 프로그램을 만들 수 있도록 도와줄 겁니다. 사용자는 거의 무한에 가까운 수의 입력값을 만들 수 있으므로, 프로그래머로써의 우리 삶을 보다 쉽게 만들려면 입력값을 가지고 뭔가 하기 이전에 먼저 입력값을 일반화시켜야만 합니다. 2. 사용자에게 요구하기(Prompting)제일 먼저, 이미 익숙한 코드를 작성해 봅시다. 사용자로부터 입력값을 받기 위해 print를 사용하여 프롬프트(prompt)를 스크린에 출력해야 합니다.1print "What's your first name?"cs 3. 입력값(input) 얻기좋습니다! 이제 새로운 걸 해봅시다. 앞서 보았던 예제에서 다음과 같이 뭔가 이상한 코드가 계속 반복되는.. 더보기
[Ruby] Codecademy - 1. Ruby 입문 1. 개요 & 미리보기루비는 강력하고 유연한 프로그래밍 언어로 웹/인터넷 개발, 텍스트 프로세싱, 게임 개발, 그리고 유명한 웹 프레임워크 Ruby on Rails의 일부 등 여러 곳에 사용되고 있습니다. 루비는 다음과 같은 특징을 가지고 있습니다.• 고급 언어(High-level language) 이는 루비가 일상 생활에서 사용하는 영어와 비슷하여 읽고 쓰기 매우 편하다는 의미입니다.• 인터프리터 언어(Interpreted language) 이는 루비를 작성하고 실행하는데 컴파일러(compiler)가 필요하지 않다는 뜻입니다. 여러분은 여기, 코드카데미에서 코드를 작성하거나, 심지어 여러분의 컴퓨터 상에서도 작성할 수 있습니다. (많은 것들이 루비 내장 인터프리터에 포함되어 있습니다. 수업의 뒷부분에서.. 더보기