2011년 6월 2일 목요일

Control Structurs

Control Structurs

루비는 if문이나 while 루프 같으 일반적인 제어문을 모두 지원한다. 일부 개발자는 제어문의 코드에 중괄호가 없다는 사실에 어색함을 느낄지도 모른다. 대신 루비에서는 제어문의 마지막을 나타내기 위해 "end" 키워드를 사용한다.

if count > 10
 puts "Try again"
elsif tries == 3
 puts "You lose"
else
 puts "Enter a number"
end
while weight < 100 and numPallets <= 30
 pallet = nextPallet()
 weight += pallet.weight
 numPallets += 1
end

루비에서 대부분의 구문이 값을 반환하므로, 제어문의 조건절을 아래와같이 작성하여도 된다. gets메서드는 표준 입력 스트림의 다음줄을 반환하는데, 파일의 끝에 도달할 경우 nil를 반환한다. 루비에서는 nill을 false로 간주하기 때문에 아래의 코드는 파일의 모든 줄을 처리할 수 있다.

while line = gets
   put line.downcase
end

if문이나 while문 안의 내용이 코드 한 줄 뿐이라면, 이를 짧게 줄여 쓸수 있는 유용한 방법이 있다. 실행될 코드를 쓰고, 그 다음에 if나 while과 조건문을 써주면 된다.

if radiation > 3000
 puts "Danger, Will Robinson"
end

아래와 같이 바꿔 쓸수 있다.

puts "Danger, Will Robinson" if radiation > 3000

while square < 1000
  square = square*square
end

while문도 아래와 같이 바꿔 쓸수 있다.

square = square*square  while square < 1000

댓글 없음:

댓글 쓰기

ETL 솔루션 환경

ETL 솔루션 환경 하둡은 대용량 데이터를 값싸고 빠르게 분석할 수 있는 길을 만들어줬다. 통계분석 엔진인 “R”역시 하둡 못지 않게 관심을 받고 있다. 빅데이터 역시 데이터라는 점을 볼때 분산처리와 분석 그 이전에 데이터 품질 등 데이...