Vì lý do gì tôi đang chơi với cú pháp ống magrittr
và gặp lỗi lạ xảy ra khi bạn
phạm vi
rõ ràng đủ điều kiện cuộc gọi đến %>%
. Tôi biết rằng bằng cách sử dụng cú pháp dưới đây phá hủy mục đích của đường ống, nhưng tôi tò mò là tại sao lỗi xảy ra.Lỗi trong ống magrittr khi sử dụng `` magrittr :: `%>%` ``
Cuộc gọi đầu tiên tới sum
hoạt động như mong đợi và xuất ra 1
.
Cuộc gọi thứ hai gây ra lỗi: Error in pipes[[i]] : subscript out of bounds
.
library(magrittr)
`%>%`(1,sum())
magrittr::`%>%`(1,sum())
Nhìn vào mã nguồn của đường ống Tôi đang nghĩ nguyên nhân lỗi có liên quan đến dòng đầu tiên thao túng môi trường, nhưng tôi chắc chắn là vấn đề gì đang giới thiệu.
function (lhs, rhs) {
parent <- parent.frame()
env <- new.env(parent = parent)
chain_parts <- split_chain(match.call(), env = env)
Có ai giải thích được hành vi này không?
Chỉnh sửa nhỏ: đây không phải là * phạm vi * nhưng * đủ điều kiện rõ ràng tên *. Phạm vi thường biểu thị môi trường thực thi, không thay đổi ở đây. –