2015-07-20 26 views
8

Nếu tôi kiểm tra môi trường của sqrt chức năng, tôi nhận được NULL:Môi trường NULL là gì?

> environment(sqrt) 
NULL 

Mặt khác, hàm split cũng được tìm thấy trong gói cơ sở có môi trường:

> environment(split) 
<environment: namespace:base> 

Tại sao hai hàm này có môi trường khác nhau và môi trường NULL có ý nghĩa gì?

Trả lời

9

sqrt là một hàm nguyên thủy và không có mã R. Mỗi Hadley Wickham's advanced R page:

chức năng nguyên thủy

Có một ngoại lệ cho quy tắc mà các chức năng có ba thành phần. Các chức năng nguyên thủy, như sum(), gọi số mã C trực tiếp với .Primitive() và không chứa mã R. Do đó, formals(), body()environment() là tất cả NULL.

Các vấn đề liên quan