지난 2화를 통해 반복문까지 알아보았다.

이제 조건문에 대해 알아보자.

 

조건문

먼저 다음과 같은 간단한 프로그램을 만들어 보자. 휴대폰 모델을 입력받아 모델이 무엇인지 알려준다.

# cat mobilePhone.rb
phoneName = ARGV[0]
 
puts "Your phone model is #{phoneName}"

실행한다.

# ruby mobilePhone.rb G2
Your phone model is G2

내 휴대폰 모델이 G2라고 알려주었다.

이제 제조사가 어디인지도 알려주는 로직을 넣어보자. 아래와 같이 소스를 고친다.

# cat mobilePhone.rb
phoneName = ARGV[0]
 
if phoneName == 'G2'
  manufacturer = 'LG'
else
  manufacturer = 'Unknown Company'
end
 
puts "Your phone model is #{phoneName}, made by #{manufacturer}"

실행해보자.

# ruby mobilePhone.rb G2
Your phone model is G2, made by LG

 

조건문에 elsif 사용

그런데 휴대폰 제조사가 LG만 있는건 아니니까요, 애플도 넣어보자.

# cat mobilePhone.rb
phoneName = ARGV[0]
 
if phoneName == 'G2'
  manufacturer = 'LG'
elsif phoneName == 'iPhone'
  manufacturer = 'Apple'
else
  manufacturer = 'Unknown Company'
end
 
puts "Your phone model is #{phoneName}, made by #{manufacturer}"

정말로 애플을 식별할 수 있을까?

# ruby mobilePhone.rb iPhone
Your phone model is iPhone, made by Apple

더욱 똑똑해졌다.

 

조건문에 or 사용

지금은 G2에 대해서만 LG 제조사를 가려내고 있다. 근데 LG에서 나온 G 시리즌 G3, G4, G5까지 있고 (맞죠? 아니면 제보바랍니다..) 곧 G6도 나온다고 하니 모두 다 반영해보자.

# cat mobilePhone.rb
phoneName = ARGV[0]
 
if phoneName == 'G2' or phoneName == 'G3' or phoneName == 'G4' or phoneName == 'G5' or phoneName == 'G6'
  manufacturer = 'LG'
elsif phoneName == 'iPhone'
  manufacturer = 'Apple'
else
  manufacturer = 'Unknown Company'
end
 
puts "Your phone model is #{phoneName}, made by #{manufacturer}"

정말 잘 되는지 보자.

# ruby mobilePhone.rb G3
Your phone model is G3, made by LG
# ruby mobilePhone.rb G6
Your phone model is G6, made by LG

 

조건문에 Regular Expression 사용

그런데 iPhone도 모델이 여러가지 있지 않나? 내가 구경해본건 3, 4, 4S, 5, 5S 등등.. 지금 7까지 나왔을거다. 아마. 그러면 iPhone으로 시작하면 모두 Apple에서 만들었다고 알려주는 로직을 넣어보자.

# cat mobilePhone.rb
phoneName = ARGV[0]
 
if phoneName == 'G2' or phoneName == 'G3' or phoneName == 'G4' or phoneName == 'G5' or phoneName == 'G6'
  manufacturer = 'LG'
elsif phoneName.match(/^iPhone/)
  manufacturer = 'Apple'
else
  manufacturer = 'Unknown Company'
end
 
puts "Your phone model is #{phoneName}, made by #{manufacturer}"

 정말 잘 되는지 보자.

# ruby mobilePhone.rb iPhone
Your phone model is iPhone, made by Apple
# ruby mobilePhone.rb iPhone4
Your phone model is iPhone4, made by Apple
# ruby mobilePhone.rb iPhone6
Your phone model is iPhone6, made by Apple
# ruby mobilePhone.rb 6iPhone
Your phone model is 6iPhone, made by Unknown Company

 

다음에 또 만나요!