Biến toàn cục trong R


Câu trả lời:


173

Như câu trả lời của Christian với các assign()chương trình, có một cách để phân công trong môi trường toàn cầu. Một cách đơn giản hơn, ngắn hơn (nhưng không tốt hơn ... gắn bó với gán) là sử dụng <<-toán tử, nghĩa là

    a <<- "new" 

bên trong chức năng.


41
Cách tiếp cận này thực sự không tiết kiệm trong môi trường toàn cầu, mà thay vào đó là trong phạm vi cha mẹ. Đôi khi phạm vi cha mẹ sẽ giống như môi trường toàn cầu, mặc dù trong một số trường hợp có nhiều hàm lồng nhau, nó sẽ không.
LunaticSoul

5
Tại sao được assignưa thích <<-?
Jasha

4
@Jasha <<-sẽ tìm kiếm chuỗi các vỏ bọc cho đến môi trường toàn cầu và gán cho biến phù hợp đầu tiên mà nó tìm thấy. Theo giả thuyết, nếu bạn có một hàm f()lồng nhau trong một kết thúc g()atồn tại trong g(), sau đó sử dụng a <<-trong f()sẽ gán cho atrong g(), không phải đối với môi trường toàn cầu. Thông thường, đây là những gì bạn muốn, tuy nhiên.
Bob

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.