ID EN
Control Flow

do.call

R Base 3.6.2 🇮🇩 Bahasa Indonesia

do.call membuat dan mengeksekusi pemanggilan fungsi dari nama atau fungsi dan daftar argumen yang akan diteruskan ke sana.

Syntax

R
do.call(what, args, quote = FALSE, envir = parent.frame())

Arguments

Parameter Deskripsi
what either a function or a non-empty character string naming the function to be called.
args a list of arguments to the function call. The names attribute of args gives the argument names.
quote a logical value indicating whether to quote the arguments.
envir an environment within which to evaluate the call. This will be most useful if what is a character string and the arguments are symbols or quoted expressions.

Return Value

Hasil dari pemanggilan fungsi (yang dievaluasi).

Details

Jika kutipannya FALSE, defaultnya, maka argumennya dievaluasi (di lingkungan panggilan, bukan di envir). Jika kutipannya BENAR maka setiap argumen dikutip (lihat kutipan) sehingga efek evaluasi argumen adalah menghilangkan tanda kutip -- membiarkan argumen asli tidak dievaluasi saat panggilan dibuat. Perilaku beberapa fungsi, seperti pengganti, tidak akan sama untuk fungsi yang dievaluasi menggunakan do.call seolah-olah fungsi tersebut dievaluasi dari penerjemah. Semantik tepatnya saat ini belum ditentukan dan dapat berubah.

Contoh

Example
R
# NOT RUN {
do.call("complex", list(imag = 1:3))

## if we already have a list (e.g., a data frame)
## we need c() to add further arguments
tmp <- expand.grid(letters[1:2], 1:3, c("+", "-"))
do.call("paste", c(tmp, sep = ""))

do.call(paste, list(as.name("A"), as.name("B")), quote = TRUE)

## examples of where objects will be found.
A <- 2
f <- function(x) print(x^2)
env <- new.env()
assign("A", 10, envir = env)
assign("f", f, envir = env)
f <- function(x) print(x)
f(A)                                      # 2
do.call("f", list(A))                     # 2
do.call("f", list(A), envir = env)        # 4
do.call(f, list(A), envir = env)          # 2
do.call("f", list(quote(A)), envir = env) # 100
do.call(f, list(quote(A)), envir = env)   # 10
do.call("f", list(as.name("A")), envir = env) # 100

eval(call("f", A))                      # 2
eval(call("f", quote(A)))               # 2
eval(call("f", A), envir = env)         # 4
eval(call("f", quote(A)), envir = env)  # 100
# }

See Also

call which creates an unevaluated call.