Ruby에서 메서드 사용하기

2020-08-26 hit count image

Ruby에서 메서드(함수)를 사용하는 방법에 대해서 알아봅시다.

개요

메서드(Method) 다른 말로 함수는 프로그램에서 처리해야할 내용을 미리 정의해두고, 필요할 때 호출하여 실행하기 위해서 사용합니다. 이번 블로그 포스트에서는 Ruby에서 메서드를 사용하는 방법에 대해서 알아봅시다.

정의하기

Ruby에서는 아래와 같이 메서드를 정의합니다.

def add(a, b)
  x = a + b
  return x
end

puts add(1, 2)

# 3

return 문

Ruby에서는 마지막 return을 생략할 수 있습니다.

def add(a, b)
  x = a + b
end

puts add(1, 2)

# 3

마지막 return이 생략하면 마지막에 기술된 값이 반환값이 됩니다.

괄호

함수의 매개변수가 없는 경우 아래와 같이 괄호를 생략하는 것이 가능합니다.

def print
  puts 'Hello'
end

print

# Hello

매개변수

매개변수의 기본값

아래와 같이 매개변수의 기본값을 설정할 수 있습니다.

def add(a, b = 2)
  x = a + b
end

puts add(1)

# 3

블록 매개변수

매개변수 앞에 &를 사용하면 매개변수로 블록(처리 모음)을 전달 할 수 있습니다.

def temp(&a)
  a.call
end

temp {
  puts "Hello"
  puts "World"
}

# Hello
# World

매개변수로 전달된 블록을 실행하기 위해서는 call 함수를 사용해야 합니다.

def temp(&a)
  a.call
end

temp do
  puts 'Hello'
  puts 'World'
end

# Hello
# World

가변 길이 매개변수

길이가 변하는 매개변수는 *을 사용하여 전달받을 수 있습니다.

def temp(num, *n)
  puts num
  puts n
end

temp(1, 2, 3)
puts '------------'
temp(1, 2, 3, 4, 5)

# 1
# 2
# 3
# ------------
# 1
# 2
# 3
# 4
# 5

undef 와 defined

undef

Ruby에서는 undef를 사용하여 정의한 메서드를 취소할 수 있습니다.

def temp
  puts 'Hello'
end

temp
undef temp
temp

# Hello
# Traceback (most recent call last):
# temp.rb:9:in `<main>': undefined local variable or method `temp' for main:Object (NameError)

defined

위와 같이 undef로 정의한 메서드를 취소할 수 있습니다. defined를 사용하면 메소드가 존재하는지 여부를 확인할 수 있습니다.

def temp
  puts 'Hello'
end

puts defined? temp
undef temp
puts defined? temp

# method
#

defined를 사용하면 정의된 식의 종류를 나타내는 문자열을 반환합니다.

# super
# method
# yield
# self
# nil
# true
# false
# assignment
# local-variable
# local-variable(in-block)
# global-bariable
# instance-variable
# constant
# class variable
# $&
# $`
# $1
# $2
# expression

완료

이것으로 Ruby에서 메서드를 정의하고 사용하는 방법에 대해서 알아보았습니다. 또한, Ruby에서만의 독특한 문법도 확인하였습니다. 이제 여러분도 Ruby의 메서드를 사용하여 필요한 처리를 정의하고 사용해 보시기 바랍니다.

제 블로그가 도움이 되셨나요? 하단의 댓글을 달아주시면 저에게 큰 힘이 됩니다!

책 홍보

저도 블로그를 시작한지 1년만에...책을 다 써봅니다...인생에서 이런 날도 오는군요...타국에서 책 출판도 할 수 있고, 참 좋은 세상입니다.

이번에 쓴 책은 스무디 한 잔 마시며 끝내는 React Native입니다. 다양한 예제를 통해 리액트 네이티브를 공부할 수 있도록 구성해 보았습니다. 또한 설치부터 배포까지 실전에서도 사용할 수 있는 내용들을 담고 있습니다.

아래 링크를 통해 제가 쓴 책을 구매하실 수 있습니다.
많은 분들에게 도움이 되면 좋겠네요.

스무디 한 잔 마시며 끝내는 React Native React Native로 실전 스마트폰 앱 만들기
Posts