R'deki global değişkenler


Yanıtlar:


174

Christian'ın gösterilere verdiği yanıt olarak assign(), küresel çevreye atamanın bir yolu var. Daha basit, daha kısa (ama daha iyi değil ... atama ile sopa) yolu <<-operatörü kullanmaktır , yani

    a <<- "new" 

fonksiyonun içinde.


41
Bu yaklaşım aslında küresel ortamda değil, ana kapsamda tasarruf sağlar. Bazen üst kapsam küresel ortamla aynı olur, ancak bazı durumlarda çok sayıda iç içe işlev bulunmaz.
LunaticSoul

5
Neden assigntercih edilir <<-?
Jasha

4
@Jasha <<-, küresel ortama kadar kasa zincirini arayacak ve bulduğu ilk eşleşen değişkene atayacaktır. Varsayalım, bir fonksiyon varsa f()bir kapatma iç içe g()ve avar olan g()daha sonra kullanarak, a <<-içinde f()atayacağı aiçinde g()değil küresel ortama. Ancak, çoğu zaman, bu istediğiniz şeydir.
Bob

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.