R語言
match.fun
位於 base
包(package)。 說明
當在以函數作為參數的函數內部調用時,提取所需的函數對象,同時避免與其他類型的對象進行不需要的匹配。
用法
match.fun(FUN, descend = TRUE)
參數
FUN |
作為函數匹配的項:函數、符號或字符串。查看具體信息'。 |
descend |
邏輯性;控製是否搜索過去的非函數對象。 |
細節
match.fun
不適合在頂層使用,因為它將在調用者的父級中執行匹配。
如果FUN
是一個函數,則返回它。如果它是一個符號(例如,用反引號括起來)或長度為 1 的字符向量,則將在調用方的父級環境中使用 get
進行查找。如果是任何其他模式,則首先嘗試將參數作為符號傳遞給調用者(使用 substitute
兩次),如果失敗,則聲明錯誤。
如果 descend = TRUE
, match.fun
將查找具有給定名稱的非函數對象;否則,如果FUN
指向非函數對象,則會生成錯誤。
這用於 apply
、 lapply
、 outer
和 sweep
等基本函數。
值
生成與 FUN
匹配的函數或錯誤。
錯誤
descend
參數有點用詞不當,可能實際上並不需要任何東西。將來它可能會消失。
完全萬無一失是不可能的。如果 attach
是一個列表或數據幀,其中包含與函數同名的長度為 1 的字符向量,則可以使用它(盡管命名空間會有所幫助)。
例子
# Same as get("*"):
match.fun("*")
# Overwrite outer with a vector
outer <- 1:5
try(match.fun(outer, descend = FALSE)) #-> Error: not a function
match.fun(outer) # finds it anyway
is.function(match.fun("outer")) # as well
作者
Peter Dalgaard and Robert Gentleman, based on an earlier version by Jonathan Rougier.
也可以看看
相關用法
- R match.arg 使用部分匹配的參數驗證
- R match.call 參數匹配
- R match 價值匹配
- R matrix 矩陣
- R matmult 矩陣乘法
- R mat.or.vec 創建矩陣或向量
- R make.unique 使字符串唯一
- R maxCol 求矩陣中的最大位置
- R mapply 將函數應用於多個列表或向量參數
- R marginSums 計算表格邊距
- R make.names 命名語法上有效的名稱
- R mtfrm 匹配輔助函數
- R merge 合並兩個 DataFrame
- R missing 正式論證有價值嗎?
- R mode 對象的(存儲)模式
- R message 診斷信息
- R mean 算術平均值
- R memlimits 查詢和設置堆大小限製
- R memCompress 內存中壓縮和解壓縮
- R memory.profile 分析 Cons 單元的使用情況
- R file.path 構造文件路徑
- R grep 模式匹配和替換
- R getwd 獲取或設置工作目錄
- R vector 向量 - 創建、強製等
- R lapply 對列表或向量應用函數
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Extract a Function Specified by Name。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。