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

댓글 없음:

댓글 쓰기

블록체인 개요 및 오픈소스 동향

블록체인(block chain) 블록체인은 공공 거래장부이며 가상 화폐로 거래할때 발생할때 발생할 수 있는 해킹을 막는 기술. 분산 데이터베이스의 한 형태로, 지속적으로 성장하는 데이터 기록 리스트로서 분산 노드의 운영자에 의한 임의 조작이 불가...