Wojciech Sobala

Wojciech Sobala Redaktor
statystyczny,
biostatystyk,
Instytut Medycyny
Pr...

Temat: Jak wywołać pętlę for w głównym skrypcie bez tworzenia...

Jeżeli piszemy pętlę for (np. for( i in w) ...) to po zakończeniu takiej pętli powstaje zmienna i.
Jeżeli pętla for jest stosowana wewnątrz funkcji to nie jest to żaden problem, natomiast w przeciwnym przypadku pozostaje zmienna, która do niczego nie jest potrzebna.
Po zakończeniu pętli można zastosować rm(i) ale ja jestem ciekaw jakie są inne sposoby rozwiązania tego problemu.
Rozwiązaniem nie jest stosowanie zamiennika z rodziny *ply, bo czasami najbardziej logiczna jest pętla for.
Kamil Bęczyński

Kamil Bęczyński R, SAS, analizy

Temat: Jak wywołać pętlę for w głównym skrypcie bez tworzenia...

skoro, zamknięcie for() w funkcji odpada to zapewne odpada również umieszczenie jej w oddzielnym środowisku :) może jako ostatni element `w` przyjąć `call` wywołującego `rm` ? ;) można 'i' przypisać NULL przyczepiając go na końcu 'w' przynajmniej będzie mało ważyć
Wojciech Sobala

Wojciech Sobala Redaktor
statystyczny,
biostatystyk,
Instytut Medycyny
Pr...

Temat: Jak wywołać pętlę for w głównym skrypcie bez tworzenia...

Kamil Bęczyński:
skoro, zamknięcie for() w funkcji odpada to zapewne odpada również umieszczenie jej w oddzielnym środowisku :)
Umieszczenie w oddzielnym środowisku nie odpada pod warunkiem, że będzie to środowisko
tymczasowe i nie będzie się wiązało z tworzeniem "zmiennej" którą należy następnie usuwać przy pomocy funkcji rm.
może jako ostatni element `w` przyjąć `call` wywołującego `rm` ? ;) można 'i' przypisać NULL przyczepiając go na końcu 'w' przynajmniej będzie mało ważyć

Temat: Jak wywołać pętlę for w głównym skrypcie bez tworzenia...

A R nie ma odśmiecacza pamięci (tzn. garbage collection)?

EDIT: Głupia uwaga, skoro zostaje referencja do wartości to i odśmiecacz nie pomoże.Paweł S. edytował(a) ten post dnia 09.11.12 o godzinie 17:09
Wojciech Sobala

Wojciech Sobala Redaktor
statystyczny,
biostatystyk,
Instytut Medycyny
Pr...

Temat: Jak wywołać pętlę for w głównym skrypcie bez tworzenia...

Trochę dokładniej poczytałem helpa dla "eval" i znalazłem funkcję local.

local({
for(i in seq.int(5))
print(i)
})
ls()
character(0)



Wyślij zaproszenie do