obrigado.
agora ficou claro...
eu levei muito a sério o que tá escrito no help:
---
     ‘memory.size’ reports the current or maximum memory allocation of
     the ‘malloc’ function used in this version of R.

     ‘memory.limit’ reports or increases the limit in force on the
     total allocation.
---

então estava considerando que a função "memory.size" só permitia
extrair informação e não serviria para ajustar nada... o que é falso.

Acho que do jeito que tá escrito, dá margem a interpretação errada.


Mas de todo jeito, agora tá claro o que acontecendo.

Obrigado.

Cleber






Em 04/04/2012 22:54, Henrique Dallazuanna escreveu:
Cleber, 

Não são todas as funções que possuem comportamento similar a memory.size, perceba:

ls(all = 1)
ls(all = 0)

O que ocorre é que a função memory.size, além de receber um objeto lógico, aceita também valores para definição de limites de memória, não permitindo diminuir o valor existente:

memory.limit()
# 1535

memory.size()
# 10.51

memory.size(max = 9)
# cannot decrease memory limit: ignored

memory.size(max = 2000)
# 2000

memory.limit()
# 2000

2012/4/4 Cleber N.Borges <klebyn@yahoo.com.br>
obrigado pela resposta.
eu entendi sua explicação, porém
acho que minha pergunta foi mal formulada :-(

refazendo a pergunta:

Há algum motivo especial para que no parametro das funções não
haja coerção de tipo ??

entendo que 1 não é booleano mas pode sofrer coerção para esse tipo.

grato pela atenção.

cleber



Em 04/04/2012 21:42, Benilton Carvalho escreveu:

memory.size() aceita um argumento logico (isso deve estar listado na
documentacao)...

agora vc pode testar:

is.logical(1)

e vc vai ter FALSE... entao vc nao pode esperar que a memory.size()
funcione como esperado ao usar um argumento de tipo invalido para a
funcao.

b
_______________________________________________