티스토리 뷰
메서드
메서드는 def 키워드를 이용하여 정의하며, class와 module에 정의하지 않으면 전역 top level에 정의됩니다.
루비의 메서드는 마지막 줄의 표현식을 자동으로 리턴하므로 return 키워드를 생략할 수 있습니다.
# 메서드 정의
def method_name(param)
# code
end
# 메서드 호출
리시버.method_name(args)
# 예시
def hello(param)
puts "hello " + param
end
hello("world!")
# Method with return
def double(n)
return n * 2
end
output = double(6)
puts output
# ==> 12
인수 (Parameter)
가변인수는 파라미터에 *
기호를 사용하여 여러개의 인수를 배열로 받을 수 있도록 합니다. 단, 가변인수는 파라미터의 마지막에 위치해야 합니다.
def calculator(operator, *nums)
total = 0
if (operator == "add")
nums.each { |num| total += num }
end
total
end
calculator("add", 10, 2, 3, 5)
#=> 20
def alphabetize(arr, rev=false)
end
파라미터의 초기값
메서드 선언시 파라미터의 초기값을 설정할 수 있으며, 초기값을 설정한 파라미터는 메서드 호출 시 생략 가능하며, 선언된 초기값이 사용됩니다.
# default parameters
def add_values(a, b=1)
a + b
end
add_values(2) #=> 3
'Ruby & Rails' 카테고리의 다른 글
Ruby 처음 배우기 : Class (0) | 2018.05.11 |
---|---|
Ruby 처음 배우기 : Block & Yield (0) | 2018.05.10 |
Ruby 처음 배우기 : 반복문 (1) | 2018.05.10 |
Ruby 처음 배우기 : 조건문 (0) | 2018.05.10 |
Ruby 처음 배우기 : Hash, Symbol (0) | 2018.05.10 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 아이폰 7
- database
- MonGo
- 몽고DB
- 픽픽
- 깃
- Nas
- javascript
- MySQL
- 방수방진
- quirky
- 데이터베이스
- 마크다운
- 반디집
- 자바스크립트
- 윈도우 10
- 샤오미
- 마인드맵
- 다음팟플레이어
- ruby
- db
- GitHub
- 갤럭시 노트 7
- Git
- 압축프로그램
- js
- 캡쳐프로그램
- xmind
- mongoDB
- 루비
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함