SORU
16 EYLÜL 2011, Cuma


Hangi anne-baba arasındaki farktır.() kare ve üst.() env R; nasıl başvuru çağrı farklıdır?

Eğer birisi basit bir örnekle göstermek yardımcı olur?

Ayrıca, nerede parent.env() ve yardımcısı yerine parent.frame() versa kullanmak yararlı olur.

CEVAP
16 EYLÜL 2011, Cuma


parent.env kapatılması (örneğin, fonksiyon) tanımlanan bir ortamdır. parent.frame kapatılması başlatıldığı ortamıdır.

f = function() 
     c(f=environment(), defined_in=parent.env(environment()),  
       called_from=parent.frame())
g = function() 
     c(g=environment(), f())

ve sonra

> g()
$g
<environment: 0x14060e8>

$f
<environment: 0x1405f28>

$defined_in
<environment: R_GlobalEnv>

$called_from
<environment: 0x14060e8>

Sıradan bir ölümlü hiç gerçekten onları kullanmak ister, ama bu kavramları burada sözlü kapsamını anlamak yararlı olduğunda emin değilim

> f = function() x
> g = function() { x = 2; f() }
> h = function() { x = 3; function() x }
> x = 1
> f()
[1] 1
> g()
[1] 1
> h()()
[1] 3

ya gizemli 'hesap' ?parent.frame Giriş R. örneği Ayrıntıları bölümünün ilk paragraf şeyleri netleştirmek olabilir. banka

Ortamları R yaygındır, örneğin, search() yol (yaklaşık) ortamlarda birlikte kardeş - ^ zincirleme . üst ilişkisi. Bazen env = new.env(parent=emptyenv()) sembol-Yukarı Bak ... normalde env[["x"]] ilk ** 14 env'nın üst ise bulunamadı. görünürdü atlatmak görür Aynı şekilde, <<- atama parent.env başlangıç görünüyor. R nispeten yeni bir referans sınıfı uygulaması bu fikirleri hangi semboller (örnek alanları ve yöntemleri) bulunabilir örneğe özel bir ortam tanımlamak için kullanır.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • CZTUTORIALS

    CZTUTORIALS

    28 Ocak 2011
  • Random Act of Kindness Video Contest

    Random Act o

    18 EYLÜL 2012
  • Learn Math Tutorials

    Learn Math T

    20 Kasım 2011