Nasıl kullanılır " musunuz;<< -&; (uygulama kapsamı) R mi?"
Ben sadece ** 16 yaşında, okumayı yeni bitirdim ve çok merak <<- atama.
Manuel çok ilginç bir örnek gösterdi "&;< lt; -" anladım ben hissediyorum. Hala özlüyorum ne bu yararlı olabilir zaman çerçevesinde.
Senden okumak isterdim ne örnekler (veya örnekler için bağlantılar) < kullandığınızda vardır;<- yararlı/. ilginç olabilir Ne (gevşek izlemek için kolay görünüyor) kullanarak tehlikeleri olabilir, ve herhangi bir ipucu paylaşım gibi hissedebilirsiniz.
Teşekkürler.
CEVAP
<<-
durumu korumak için kapanması ile birlikte en çok yararlıdır. İşte benim son bir kağıt dan bir bölüm
Bir kapatma fonksiyonu başka bir fonksiyon tarafından yazılmıştır. Kilitler bu yüzden onlar çünkü deniralınüst ortam işlevi ve bu işlev tüm değişkenleri ve parametreleri erişebilirsiniz. Bu bize parametrelerin iki seviye için izin verir, çünkü yararlıdır. Parametreleri (üst) düzey işlevi nasıl çalıştığını kontrol eder. Diğer seviye (çocuk). Aşağıdaki örnekte, bu fikir güç fonksiyonları bir aile oluşturmak için nasıl kullanabileceğinizi gösterir. Ana fonksiyon (power
) aslında çok güçlü bir alt işlevlerde (square
cube
) oluşturur.
power <- function(exponent) {
function(x) x ^ exponent
}
square <- power(2)
square(2) # -> [1] 4
square(4) # -> [1] 16
cube <- power(3)
cube(2) # -> [1] 8
cube(4) # -> [1] 64
İki seviyede değişkenleri yönetme yeteneği aynı zamanda bir işlev üst ortam değişkenleri değiştirmek için izin vererek işlevi çağrısı arasında durumunu korumak için yapar. Farklı düzeylerde değişkenleri yönetmek için anahtardır çift ok atama operatörü <<-
. Her zaman geçerli düzeyde çalışan her zamanki tek ok atama (<-
) aksine, çift ok operatör üst düzeyde değişkenleri değiştirebilirsiniz.
Bu sayede aşağıdaki örnekte gösterildiği gibi bir işlevi çağrıldı nasıl kayıtları, bu bir karşı korumak için yapar. Her zaman new_counter
çalıştırılan bir ortam oluşturur, bu ortamda i
sayaç initialises ve sonra yeni bir işlev oluşturur.
new_counter <- function() {
i <- 0
function() {
# do something useful, then ...
i <<- i 1
i
}
}
Yeni işlev kapanışı ve çevresini kapsayan ortamdır. Bu kilitler counter_one
counter_two
çalıştırdığınızda, her birini çevreleyen ortamda sayacı değiştirir ve sonra da geçerli sayısını verir.
counter_one <- new_counter()
counter_two <- new_counter()
counter_one() # -> [1] 1
counter_one() # -> [1] 2
counter_two() # -> [1] 1
Nasıl kullanılır&; İLE" tümcesi "...
Facebook API - Nasıl Facebook kullanıc...
Nasıl&; while (i == i) quot ;" te...
Nasıl "git --bare init" depo...
Nasıl tamir " 'aps-çevre...