Chapter 4 Function

4.1 함수

  • 함수 정의 : 파라메터를 입력 받아 제곱근을 돌려 주는 함수
f <- function(x1, x2) {
  y <-  x1^2 + x2^2
  return(y)
}
  • 가변길이 함수
func<- function(...) {
    args <- list(...)
    for( x in args){
    print(x)
    }
}
func("a","b")
## [1] "a"
## [1] "b"
  • 클로저(Closure)
click_counter <- function() {
  count = 0
  return(
    function(x) {
     count <<- count + x
     print(count)
    }
  )
}

counter = click_counter()
counter(1); counter(1); counter(1)
## [1] 1
## [1] 2
## [1] 3

4.2 함수의 호출 특성

func <- function(x,y=1,z=10){
  return(x+y+z)
}

func(1)
## [1] 12
func(1,2)
## [1] 13
func(1,2,3)
## [1] 6

4.3 변수의 스코프(Scope)

  • 전역변수는 현재 세션에서는 재사용 가능
n <- 1
func <- function() {
  print(n)
}
func()
## [1] 1
n <- 2
func()
## [1] 2
  • 같은 이름일 경우 내부변수 우선
n <- 100
f <- function() {
  n <- 1
  print(n)
}
f()
## [1] 1

4.4 [연습문제 #2]