6
有沒有方法可以確定兩個不同函數的文本是否相同?在R中測試兩個函數的相等性
x <- function(x) print(x + 2)
y <- function(x) print(x + 2)
identical(x, y)
[1] FALSE
identical(mget("x"), mget("y"))
[1] FALSE
identical(unname(mget("x")), unname(mget("y")))
[1] FALSE
......,也將顯示差異,如果有任何 –
值得一提的是'identical'提供比較功能時比「deparse和比較」更加靈活的控制'all.equal'。在R-devel中,添加了「ignore.srcref」參數,當設置爲TRUE時,將返回「相同(x,y)」的TRUE。這也可以通過去除「x」和「y」 - 「相同」(「屬性< - 」(x,NULL),「屬性< - 」(y,NULL))「屬性來實現。 '?identical'也給出了一個關於字節編譯函數的靈活性的例子。 (x,compiler :: cmpfun(x),ignore.bytecode = FALSE)'VS'all.equal(x,compiler :: cmpfun(x) )' –