由於任何原因,我在玩magrittr
管道語法,並遇到一個奇怪的錯誤,當
範圍
明確限定呼叫%>%
。我知道使用下面的語法破壞了管道的用途,但我很好奇爲什麼發生錯誤。當使用``magrittr ::`%>%```magrittr ::`%>%``````````
對sum
的第一個呼叫按預期工作,並輸出1
。
第二次調用導致錯誤:Error in pipes[[i]] : subscript out of bounds
。
library(magrittr)
`%>%`(1,sum())
magrittr::`%>%`(1,sum())
縱觀管的源代碼,我想該錯誤的原因與第一線操作環境,但我敢肯定,以它的引入是什麼問題。
function (lhs, rhs) {
parent <- parent.frame()
env <- new.env(parent = parent)
chain_parts <- split_chain(match.call(), env = env)
任何人都可以解釋這種行爲嗎?
小改正:這不是*作用域*,而是*顯式限定名稱*。範圍通常表示執行環境,在這裏不會改變。 –