
Uma utilidade disso é não ser necessário a passagem de variáveis. Exemplo: preciso verificar uma taxa efetiva de juros, a partir do capital emprestado, da prestação e do número de parcelas. Assumindo que a primeira parcela será paga exatamente um mês após temos: jfun <- function(cap, prest, npar) { obj <- function(tx) { for (i in 1:npar) cap <- cap*(1+tx) - prest cap^2 } optimize(obj, c(0, prest*npar/cap-1))$min } ### exemplo: emprestimo de 1000 pagos em 12 x 100 jfun(1000, 100, 12) Neste caso, não passo 'cap', 'prest' e 'npar' para a função 'obj'. Também, 'cap' é alterado apenas no ambiente da função 'obj', que é chamada diversas vezes pela função optimize. Porém, a cada chamada, o valor 'inicial' de 'cap' é o valor do ambiente da função 'jfun'. Att. Elias. On 02/07/13 11:51, Benilton Carvalho wrote:
e' questao de gosto... e gosto nao se discute.
eu, particularmente, prefiro nao faze-lo por nao gostar de depender do escopo lexical... mas ha' quem goste exatamente por isso...
b
Em 2 de julho de 2013 11:47, Pedro Rafael <pedro.rafael.marinho@gmail.com> escreveu:
Não tenho nenhum exemplo para dar. Minha dúvida é teórica. Gostaria de saber se é uma boa ou má prática de programação definir função dentro de função em R. Suponhamos que tenho duas funções f1 e f2. Para f2 rodar ela precisa de f1. Não preciso de f1 no Environment Global. f1 é apenas uma função necessária para f2. O "correto" é definir f1 fora ou dentro da função f2? [ ], Pedro Rafael Diniz Marinho.
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.