ID EN
Miscellaneous

taskCallback

R Base 3.6.2 🇮🇩 Bahasa Indonesia

addTaskCallback mendaftarkan fungsi R yang dipanggil setiap kali tugas tingkat atas diselesaikan. deleteTaskCallback membatalkan pendaftaran fungsi yang telah didaftarkan sebelumnya melalui addTaskCallback. Ini memberikan akses tingkat rendah ke mekanisme internal/asli untuk mengelola tindakan penyelesaian tugas. Seseorang dapat menggunakan taskCallbackManager di tingkat bahasa S untuk mengelola fungsi S yang dipanggil pada penyelesaian setiap tugas. Ini lebih mudah dan langsung.

Syntax

R
addTaskCallback(f, data = NULL, name = character())
removeTaskCallback(id)

Arguments

Parameter Deskripsi
f the function that is to be invoked each time a top-level task is successfully completed. This is called with 5 or 4 arguments depending on whether data is specified or not, respectively. The return value should be a logical value indicating whether to keep the callback in the list of active callbacks or discard it.
data if specified, this is the 5-th argument in the call to the callback function f.
id a string or an integer identifying the element in the internal callback list to be removed. Integer indices are 1-based, i.e the first element is 1. The names of currently registered handlers is available using getTaskCallbackNames and is also returned in a call to addTaskCallback.
name character: names to be used.

Return Value

addTaskCallback mengembalikan nilai bilangan bulat yang memberikan posisi dalam daftar panggilan balik tugas yang ditempati panggilan balik baru ini. Ini hanya posisi panggilan balik saat ini. Ini dapat digunakan untuk menghapus entri selama tidak ada nilai lain yang dihapus terlebih dahulu dari posisi sebelumnya dalam daftar. deleteTaskCallback mengembalikan nilai logis yang menunjukkan apakah elemen tertentu telah dihapus. Ini bisa gagal (yaitu, mengembalikan FALSE) jika nama atau indeks yang diberikan salah dan tidak sesuai dengan nama o

Details

Tugas tingkat atas adalah ekspresi individual, bukan keseluruhan baris masukan. Jadi baris masukan berbentuk ekspresi1 ; ekspresi2 akan memunculkan 2 tugas tingkat atas. Callback tugas tingkat atas dipanggil dengan ekspresi untuk tugas tingkat atas, hasil tugas tingkat atas, nilai logika yang menunjukkan apakah tugas tersebut berhasil diselesaikan atau tidak (selalu TRUE saat ini), dan nilai logika yang menunjukkan apakah hasilnya dicetak atau tidak. Jika argumen data ditentukan dalam panggilan ke addTaskCallback, nilai tersebut diberikan sebagai argumen kelima. Fungsi panggilan balik harus mengembalikan nilai logis. Jika nilainya FALSE, callback akan dihapus dari daftar tugas dan tidak akan dipanggil lagi oleh mekanisme ini. Jika fungsi mengembalikan TRUE, maka akan disimpan dalam daftar dan akan dipanggil

Contoh

Example
R
# NOT RUN {
times <- function(total = 3, str = "Task a") {
  ctr <- 0
  function(expr, value, ok, visible) {
    ctr <<- ctr + 1
    cat(str, ctr, "\n")
    keep.me <- (ctr < total)
    if (!keep.me)
      cat("handler removing itself\n")

    # return
    keep.me
  }
}

# add the callback that will work for
# 4 top-level tasks and then remove itself.
n <- addTaskCallback(times(4))

# now remove it, assuming it is still first in the list.
removeTaskCallback(n)

## See how the handler is called every time till "self destruction":

addTaskCallback(times(4)) # counts as once already

sum(1:10) ; mean(1:3) # two more
sinpi(1)              # 4th - and "done"
cospi(1)
tanpi(1)
# }

See Also

getTaskCallbackNames taskCallbackManager https://developer.r-project.org/TaskHandlers.pdf