
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.

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.

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.

Entendi Benilton, obrigado pela ajuda. [ ], Pedro Rafael Diniz Marinho. Em 2 de julho de 2013 11:53, beniltoncarvalho [via R-br] < ml-node+s2285057n4659867h54@n4.nabble.com> escreveu:
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 <[hidden email] <http://user/SendEmail.jtp?type=node&node=4659867&i=0>> 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 [hidden email] <http://user/SendEmail.jtp?type=node&node=4659867&i=1> 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 [hidden email] <http://user/SendEmail.jtp?type=node&node=4659867&i=2> 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.
------------------------------ If you reply to this email, your message will be added to the discussion below:
http://r-br.2285057.n4.nabble.com/R-br-Duvida-Funcao-dentro-de-funcao-tp4659... To unsubscribe from R-br, click here<http://r-br.2285057.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=3357982&code=cGVkcm8ucmFmYWVsLm1hcmluaG9AZ21haWwuY29tfDMzNTc5ODJ8NTAyMjI0MDYw> . NAML<http://r-br.2285057.n4.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>

Obrigado pelas informações Elias. Realmente exite essa comodidade em escrever uma função dentro de outra. [ ], Pedro Rafael Diniz Marinho. Em 2 de julho de 2013 14:54, Pedro Rafael <pedro.rafael.marinho@gmail.com>escreveu:
Entendi Benilton, obrigado pela ajuda.
[ ], Pedro Rafael Diniz Marinho.
Em 2 de julho de 2013 11:53, beniltoncarvalho [via R-br] < ml-node+s2285057n4659867h54@n4.nabble.com> escreveu:
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 <[hidden email] <http://user/SendEmail.jtp?type=node&node=4659867&i=0>> 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 [hidden email] <http://user/SendEmail.jtp?type=node&node=4659867&i=1> 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 [hidden email] <http://user/SendEmail.jtp?type=node&node=4659867&i=2> 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.
------------------------------ If you reply to this email, your message will be added to the discussion below:
http://r-br.2285057.n4.nabble.com/R-br-Duvida-Funcao-dentro-de-funcao-tp4659... To unsubscribe from R-br, click here<http://r-br.2285057.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=3357982&code=cGVkcm8ucmFmYWVsLm1hcmluaG9AZ21haWwuY29tfDMzNTc5ODJ8NTAyMjI0MDYw> . NAML<http://r-br.2285057.n4.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
participantes (3)
-
Benilton Carvalho
-
Elias Teixeira Krainski
-
Pedro Rafael