Làm cách nào để đảm bảo rằng khi một hàm được gọi là nó không được phép lấy các biến từ môi trường toàn cầu?cách tách một hàm
Tôi muốn mã sau đây cung cấp cho tôi lỗi. Lý do là vì tôi có thể đã gõ sai z (tôi muốn gõ y).
z <- 10
temp <- function(x,y) {
y <- y + 2
return(x+z)
}
> temp(2,1)
[1] 12
Tôi đoán câu trả lời có liên quan đến môi trường, nhưng tôi chưa hiểu chúng.
Có cách nào để đặt mặc định cho hành vi mong muốn của tôi (ví dụ: bằng cách đặt tùy chọn) không?
Có một số cuộc thảo luận trong mục tin tức ngày 27 tháng 2 năm 2010 trên trang chủ proto: http://r-proto.googlecode.com. –
@ G.Gothendieck cảm ơn bạn, có vẻ thú vị. Tôi không chắc tôi có cảm thấy như đang đào sâu vào một gói lớn/thay đổi triết lý chưa. Nhưng tôi sẽ ghi nhớ điều này khi tôi có thêm kinh nghiệm. –
Tôi khá chắc chắn điều này đã được yêu cầu ở đây. – hadley