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

  • PomplamooseMusic

    PomplamooseM

    28 HAZİRAN 2008
  • Tech4Geeks

    Tech4Geeks

    8 Ocak 2012
  • tychoadragmire

    tychoadragmi

    20 Mart 2006