12월 162013
 

루비(Ruby)언어 정리

조건문

if

  • Boolean : 식의 Return 값이 Boolean형인 결과 값
  • code1 : 조건(Boolean)이 참일 경우 실행
  • elsif : elseif 가 아니고 elsif인 것에 주의할 것

unless

if문과 반대로 작동함

  • Boolean : 식의 Return 값이 Boolean형인 결과 값
  • code1 : 조건(Boolean)이 거짓일 경우 실행

if/unless를 수식어 형태로 사용

puts "true" if res > 100 : 100보다 클 경우 true를 출력

puts "false" if new <= 100 : 100 이하일 경우 false를 출력

case 문

조건에 알맞는 value값에 대해 when의 조건에 맞는 것을 실행함

위와 같은 형식으로 Range와 함께 사용 가능

? 연산자

condition ? true : false 형식으로 이용.

예제: res = r >= 70 ? "pass" : "fail"

순환문

while

condition의 조건이 참일 경우에만 실행

until

condition의 조건을 만족할 때 까지 실행

while/until의 수식어 형태 사용

value += 10 until value == 100

value += 1 while value < 100

for

collection을 차례대로 variable에 넣으면서 code를 실행한다.

  • 예제 1

  • 예제 2

Ruby Iterator

collection의 내용을 variable에 하나씩 넣으면서 code를 실행. 아래는 이를 사용한 예제.

  • 0.upto(n) : 0부터 n까지 순환문을 만듬
  • 10.downto(0) : 10부터 0까지 값을 감소시키며 순환
  • 2.step(11, 3) : 11까지 2부터 3씩 증가시키는 순환문 작성(예 : 2, 5, 8, 11)
  • 5.times : 5회 반복
  • data.each : data가 컬렉션이면 모든 항목들을 순서대로 가져옴
  • loop : 무한 루프 (break문을 통해서 반복문 탈출)

반복문에서 사용할 수 있는 구문

  • break : 반복문을 탈출
  • redo : 반복문의 현재 단계를 한 번 더 실행
  • next : 다음 단계를 실행함 (C++/JAVA++의 continue와 같음)
  • retry : 반복문을 처음부터 다시 시작

메소드 정의

hello란 이름의 메소드 정의

사용 방법은 hello라고 하는 것 만으로 가능

  • 메개변수 전달방법

  • 가변 개수

Ruby에서 *는 배열이라는 뜻임. 파라미터를 넘길 경우에도 사용 가능

  • 메소드 값을 리턴

  • 2개 이상의 값 리턴

  • 변수의 유효 범위

동일 이름일 경우에 매소드 내부가 최우선

  • 블록 (block)

메소드에 파라미터(Parameter)처럼 전달될 수 있는 코드를 말함, {}를 이용하여 작성

{ puts "Hello World!!" }

또는

형태로 작성 가능함

yield문을 이용하여 블록을 실행할 수 있다.

  • 블록에 데이터 전달

||안에 있는 변수에 차례대로 데이터가 전달된다.

  • 반복자와 함께 블록 사용

  • BEGIN/END 블록

Ruby 프로그램이 메모리에 올라갈 때 BEGIN 블록이 실행 되며 종료 될 때 END 블록이 실행된다.


 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

(필수)

(필수)