R Hàm lồng nhau
Hàm lồng nhau
Có hai cách để tạo một hàm lồng nhau:
- Gọi một hàm trong một hàm khác.
- Viết hàm trong hàm.
Ví dụ
Gọi một hàm trong một hàm khác:
Nested_function <- function(x, y) {
a <- x + y
return(a)
}
Nested_function(Nested_function(2,2), Nested_function(3,3))
Hãy tự mình thử »Ví dụ giải thích
Hàm yêu cầu x thêm y.
Đầu vào đầu tiên Nested_function(2,2) là "x" của hàm chính.
Đầu vào thứ hai Nested_function(3,3) là "y" của hàm chính.
Do đó, đầu ra là (2+2) + (3+3) = 10 .
Ví dụ
Viết hàm trong hàm:
Outer_func <- function(x) {
Inner_func <- function(y) {
a <- x + y
return(a)
}
return
(Inner_func)
}
output <- Outer_func(3) # To
call the Outer_func
output(5)
Hãy tự mình thử »Ví dụ giải thích
Bạn không thể gọi hàm trực tiếp vì Inner_func đã được xác định (lồng nhau) bên trong Outer_func.
Trước tiên, chúng ta cần gọi Outer_func để gọi Inner_func ở bước thứ hai.
Chúng ta cần tạo một biến mới gọi là đầu ra và đặt cho nó một giá trị, ở đây là 3.
Sau đó chúng tôi in kết quả với giá trị mong muốn là "y", trong trường hợp này là 5.
Do đó, đầu ra là 8 (3 + 5).