# 기존 if 문 작정
if condition
# Do Something
end
# if 문을 더 간단하게 리팩토링
expression if boolean
# 기존 unless 문 작성
unless condition
# Do Something
end
# if 문을 더 간단하게 리팩토링
expression unless boolean
# 삼항연산자
puts 3 < 4 ? "true" : "false"
# true 출력
# 기존 case 문 작성
case language
when "JS"
puts "websites!"
when "python"
puts "ai"
else
puts "I don't know!"
end
# case 문을 더 간단하게 리팩토링
case language
when "JS" then puts "websites!"
when "python" then puts "ai"
else puts "I don't know!"
end
값이 없는 경우(nil
인 경우) 대입, 그렇지 않은 경우는 유지
object = nil
object ||= "name"
puts object
# Output: name
object ||= "age"
puts object
# Output: name
object = "age"
puts object
# Output: age
def add(x, y)
return x + y
end
# 리팩토링: return 제거
def add(x, y)
x + y
end
.upto(num)
은 num까지 +1 되는거
예를 들어, 95.upto(100)
이면, 95, 96, 97, 98, 99, 100이 해당
.downto(num)
은 num까지 -1 되는거
숫자뿐만 아니라 문자의 오름차순, 내림차순도 가능하다.
"L".upto("P") {|c| print c}
# LMNOP
age = 140
age.respond_to?(:next)
# true
array = [1, 2, 3]
array.push(4)
array << 5
string = "My name "
string += "is "
string << "Ruby!"