我面临一个奇怪的问题。有人可以帮助我出错的地方。 我是R的菜鸟。我对lapply的了解是它在列表中应用了一个函数。
现在,当我这样做时,
lapply(makeCacheMatrix(a),solveCache)
它出错了
x $ getInverse中的错误:'closure'类型的对象不是子集表'
然而,当我这样做时,
m1<-makeCacheMatrix(a)
solveCache(m1)
它给了我正确的答案而没有错误。
m1&lt; - 确实是我通过模式(m1)检查的列表。因此,理想的lapply应该工作。
有人可以帮我解释为什么lapply(makeCacheMatrix(a),solveCache)
会给出错误...我的意思是要么捕获makeCacheMatrix(a)
的输出并将其传递给lapply,要么我直接传递它,它应该同时适用于例。
答案 0 :(得分:0)
lapply(X, FUN, ...)
将函数FUN
应用于列表X
的每个元素。看起来solveCache
函数作为整体在列表上运行,而不仅仅是列表中的单个元素。