| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/08/2008 10:15:32
|
rufostec
Thread.start()
Membro desde: 24/08/2006 16:02:14
Mensagens: 41
Offline
|
ainda vou entender com mais carinho as closures, ainda não entendi um uso no meu dia a dia.
Vendo o Mauricio com essa foto malvada ai acho que vou ver o Scala que só ouvir falar rsss
eu não paro de estudar desde os meus 16 anos e to com 30 rsss, já foi tantas linguagens.
|
Sun Certified Java Programmer 1.4
Responda rápido:
Em toca de paca tatu caminha dentro???? |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/08/2008 10:19:19
|
luistiagos
Forum Spammer
![[Avatar]](/images/avatar/98785ca89cfbbe933921bfe68a94553b.jpg)
Membro desde: 10/07/2006 10:37:23
Mensagens: 1590
Offline
|
hum... ja ate sei do que as proximas edições da javamagazine e mundojava iram falar...
po deveriam colocar ponteiros na linguagem.... sinto falta dos ponteiros...
This message was edited 1 time. Last update was at 11/08/2008 10:20:57
|
SCJP 1.5
Next Target -> SCJA 1.0 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/08/2008 10:38:58
|
Ssalgado
JavaChild
Membro desde: 11/04/2005 12:51:05
Mensagens: 141
Localização: Zürich
Offline
|
luistiagos wrote:
po deveriam colocar ponteiros na linguagem.... sinto falta dos ponteiros...
Curiosidade: Que falta eles te fazem no dia a dia ?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/08/2008 10:46:04
|
victorwss
Forum Spammer
![[Avatar]](/images/avatar/4ab232445f9b21b65dfdf6ea5f27f704.png)
Membro desde: 18/12/2007 14:46:00
Mensagens: 1609
Localização: São Paulo - SP
Offline
|
Ssalgado wrote:
luistiagos wrote:
po deveriam colocar ponteiros na linguagem.... sinto falta dos ponteiros...
Curiosidade: Que falta eles te fazem no dia a dia ?
Acho que ele estava sendo irônico.
|
Victor Williams Stafusa da Silva
{Bacharel em Ciência da Computação - UFMT} {Especialista em Desenvolvimento Java - CEFET/MT}
{SCJP 6.0 - 19/12/2007 - PASS - 88%} {SCWCD 5 - 17/05/2008 - PASS - 79%} {SCJA - 09/09/2008 - PASS - 96%}
{Próximos: SCJD (encalhado com o projeto), SCBCD (estudando), SCSNI. Algum dia desses: SCMAD, OCA, SCEA e SCDJWS.}
Computação: uma ciência holística e esotérica!
E então veio Deus a terra e disse aos homens: Não dividireis por zero.
XML is a giant step in no direction at all. (Erik Naggum)
Arquitetura de sistemas: Eu prefiro ser essa metamorfose ambulante do que ter aquela velha opinião formada sobre tudo.
Always code as if the person who will maintain your code is a maniac serial killer that knows where you live.
I am the maniac serial killer that knows where you live who will maintain your code. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/08/2008 10:47:43
|
fantomas
JavaEvangelist
![[Avatar]](/images/avatar/a2bf57c3aee957f2aaf75aa84717b3be.jpg)
Membro desde: 24/04/2008 16:10:55
Mensagens: 491
Localização: Terra (maior parte do tempo)
Offline
|
É....também achei isso curioso.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/08/2008 10:51:39
|
Ssalgado
JavaChild
Membro desde: 11/04/2005 12:51:05
Mensagens: 141
Localização: Zürich
Offline
|
victorwss wrote:
Ssalgado wrote:
luistiagos wrote:
po deveriam colocar ponteiros na linguagem.... sinto falta dos ponteiros...
Curiosidade: Que falta eles te fazem no dia a dia ?
Acho que ele estava sendo irônico.
Se sim, foi mal. hehe
Se não, ainda estou curioso.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/08/2008 11:23:49
|
**Popeye12345**
Forum Spammer
Membro desde: 30/03/2008 20:56:41
Mensagens: 1293
Offline
|
Alguém pra falar de ponteiros em Java só pode estar sendo irônico mesmo. rs
|
unnamed.
there are so many monkeys at guj. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/08/2008 11:55:26
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 12879
Localização: SP
Offline
|
Uma coisa que seria interessante em closures é se eu pudesse fazer currying também.
Não cheguei a brincar suficientemente com o protótipo final (e olhe que eu estou acompanhando isso desde as primeiras propostas do Gafter), mas eu gostaria de fazer algo semelhante ao que posso fazer no Boost:
onde "boost::bind" é um template que efetua o currying de MyReadHandler, passando a "this" o ponteiro para função-membro "MyClass::MyReadHandler", e então passando os parâmetros a essa função-membro: error e bytes_transferred.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/08/2008 13:41:26
|
fantomas
JavaEvangelist
![[Avatar]](/images/avatar/a2bf57c3aee957f2aaf75aa84717b3be.jpg)
Membro desde: 24/04/2008 16:10:55
Mensagens: 491
Localização: Terra (maior parte do tempo)
Offline
|
thingol wrote: Uma coisa que seria interessante em closures é se eu pudesse fazer currying também.
Não cheguei a brincar suficientemente com o protótipo final (e olhe que eu estou acompanhando isso desde as primeiras propostas do Gafter), mas eu gostaria de fazer algo semelhante ao que posso fazer no Boost:
view plaincopy to clipboardprint?
1. #include <boost/asio.hpp>
2. ...
3.
4. boost::asio::async_read (socket, boost::asio::buffer (buf, 0, nbytes),
5. boost::bind (&MyClass::MyReadHandler, this, boost::asio::placeholders::error, boost::asio::placeholders::bytes_transferred));
#include <boost/asio.hpp> ... boost::asio::async_read (socket, boost::asio::buffer (buf, 0, nbytes), boost::bind (&MyClass::MyReadHandler, this, boost::asio::placeholders::error, boost::asio::placeholders::bytes_transferred));
onde "boost::bind" é um template que efetua o currying de MyReadHandler, passando a "this" o ponteiro para função-membro "MyClass::MyReadHandler", e então passando os parâmetros a essa função-membro: error e bytes_transferred.
????? ??????
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/08/2008 13:42:53
|
**Popeye12345**
Forum Spammer
Membro desde: 30/03/2008 20:56:41
Mensagens: 1293
Offline
|
fantomas wrote:
thingol wrote: Uma coisa que seria interessante em closures é se eu pudesse fazer currying também.
Não cheguei a brincar suficientemente com o protótipo final (e olhe que eu estou acompanhando isso desde as primeiras propostas do Gafter), mas eu gostaria de fazer algo semelhante ao que posso fazer no Boost:
view plaincopy to clipboardprint?
1. #include <boost/asio.hpp>
2. ...
3.
4. boost::asio::async_read (socket, boost::asio::buffer (buf, 0, nbytes),
5. boost::bind (&MyClass::MyReadHandler, this, boost::asio::placeholders::error, boost::asio::placeholders::bytes_transferred));
#include <boost/asio.hpp> ... boost::asio::async_read (socket, boost::asio::buffer (buf, 0, nbytes), boost::bind (&MyClass::MyReadHandler, this, boost::asio::placeholders::error, boost::asio::placeholders::bytes_transferred));
onde "boost::bind" é um template que efetua o currying de MyReadHandler, passando a "this" o ponteiro para função-membro "MyClass::MyReadHandler", e então passando os parâmetros a essa função-membro: error e bytes_transferred.
?????  ??????
Tambem não entendi bulhufas. Mas sei que é porque ainda não estamos no nivel Yoda, somos padawans ainda. Quero virar Jedi até o fim do ano, mas Yoda... rs... Tá dificil!
|
unnamed.
there are so many monkeys at guj. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/08/2008 14:00:19
|
peczenyj
Moderador
![[Avatar]](/images/avatar/299dc35e747eb77177d9cea10a802da2.jpg)
Membro desde: 26/03/2006 23:25:37
Mensagens: 2185
Offline
|
No aguardo de um post elucidativo e didático.
|
http://peczenyj.blogspot.com/
'Não importa quanto alguém se dedique à tarefa. Ninguém consegue fazer a água da cascata cair para cima.' |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/08/2008 15:15:24
|
TangZero
JavaGuru
![[Avatar]](/images/avatar/4f734c273514a8b004aa22f37189f8c6.png)
Membro desde: 23/01/2007 16:00:46
Mensagens: 257
Localização: São Paulo
Offline
|
Sergio Figueras wrote:
fantomas wrote:
thingol wrote: Uma coisa que seria interessante em closures é se eu pudesse fazer currying também.
Não cheguei a brincar suficientemente com o protótipo final (e olhe que eu estou acompanhando isso desde as primeiras propostas do Gafter), mas eu gostaria de fazer algo semelhante ao que posso fazer no Boost:
view plaincopy to clipboardprint?
1. #include <boost/asio.hpp>
2. ...
3.
4. boost::asio::async_read (socket, boost::asio::buffer (buf, 0, nbytes),
5. boost::bind (&MyClass::MyReadHandler, this, boost::asio::placeholders::error, boost::asio::placeholders::bytes_transferred));
#include <boost/asio.hpp> ... boost::asio::async_read (socket, boost::asio::buffer (buf, 0, nbytes), boost::bind (&MyClass::MyReadHandler, this, boost::asio::placeholders::error, boost::asio::placeholders::bytes_transferred));
onde "boost::bind" é um template que efetua o currying de MyReadHandler, passando a "this" o ponteiro para função-membro "MyClass::MyReadHandler", e então passando os parâmetros a essa função-membro: error e bytes_transferred.
?????  ??????
Tambem não entendi bulhufas. Mas sei que é porque ainda não estamos no nivel Yoda, somos padawans ainda. Quero virar Jedi até o fim do ano, mas Yoda... rs... Tá dificil!
Me senti um merda agora......
|
TangZero
SCJP 6 e SCWCD 5
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/08/2008 15:51:20
|
renato3110
Forum Spammer
![[Avatar]](/images/avatar/cf63547fadc1aa6e897a62291e0cb124.jpg)
Membro desde: 16/12/2004 17:09:19
Mensagens: 1706
Localização: Rio de Janeiro - RJ
Offline
|
peczenyj wrote:Isso eu achei interessante:
Sem o @Shared eu recebo um warning, nada mais do que justo!
Deveria ser o contrário, com o @Shared: Warning: too many gambiarras
This message was edited 1 time. Last update was at 13/08/2008 22:30:01
|
Se alguém fotografasse um corpo humano, a partir de um plano elevado, apareceriam várias sombras distintas. Elas são conhecidas como sombras mentais. Dentro delas existe um universo muito além do nosso plano mortal. Existe um tipo de energia que emana como se fosse um vento selvagem. O nome desse vento é Vajra. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/08/2008 16:33:10
|
victorwss
Forum Spammer
![[Avatar]](/images/avatar/4ab232445f9b21b65dfdf6ea5f27f704.png)
Membro desde: 18/12/2007 14:46:00
Mensagens: 1609
Localização: São Paulo - SP
Offline
|
renato3110 wrote:
peczenyj wrote:Isso eu achei interessante:
Sem o @Shared eu recebo um warning, nada mais do que justo!
Deveria ser o contrário, com o @Shared: Warning: too much gambiarras
O Shared é uma gambiarra para permitir que o closure altere o valor da variável local.
CHUTE: ACHO que isso pode ser implementado pelo compilador criando um objeto oculto no método, transformando a variável local em um atributo deste objeto oculto e fazendo tanto o método quanto o closure usar este atributo. Quando o método termina, o objeto contendo o atributo ainda existe no heap, até que o coletor de lixo o descarte.
Quando a variável é final, sem problemas. O compilador faz o mesmo que ele faz atualmente com classes anônimas. Mas quando não é, essa manobra do compilador resolve o problema.
Aliás, isso não serve apenas para closures. Pode ser usado para classes anônimas também, resolvendo o problema do "annoying final".
Daí, aquele erro de compilação de que a variável local deveria ser final se reduziria a uma warning (porque provavelmente o compilador fará algo que faz com que a variável local deixe de ser de fato apenas uma variável local). Daí o @Shared funciona mais ou menos como um @SuppressWarnings para isso.
Edit: BTW closures são reduzidos pelo compilador em classes anônimas que posteriormente são reduzidas a classes internas e por fim a classes normais com visibilidade de pacote.
This message was edited 1 time. Last update was at 11/08/2008 16:35:31
|
Victor Williams Stafusa da Silva
{Bacharel em Ciência da Computação - UFMT} {Especialista em Desenvolvimento Java - CEFET/MT}
{SCJP 6.0 - 19/12/2007 - PASS - 88%} {SCWCD 5 - 17/05/2008 - PASS - 79%} {SCJA - 09/09/2008 - PASS - 96%}
{Próximos: SCJD (encalhado com o projeto), SCBCD (estudando), SCSNI. Algum dia desses: SCMAD, OCA, SCEA e SCDJWS.}
Computação: uma ciência holística e esotérica!
E então veio Deus a terra e disse aos homens: Não dividireis por zero.
XML is a giant step in no direction at all. (Erik Naggum)
Arquitetura de sistemas: Eu prefiro ser essa metamorfose ambulante do que ter aquela velha opinião formada sobre tudo.
Always code as if the person who will maintain your code is a maniac serial killer that knows where you live.
I am the maniac serial killer that knows where you live who will maintain your code. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/08/2008 19:12:16
|
Bruno Laturner
Forum Spammer
Membro desde: 18/02/2008 16:17:53
Mensagens: 1221
Localização: 78050-000, Brazil
Offline
|
thingol wrote:Uma coisa que seria interessante em closures é se eu pudesse fazer currying também.
Não cheguei a brincar suficientemente com o protótipo final (e olhe que eu estou acompanhando isso desde as primeiras propostas do Gafter), mas eu gostaria de fazer algo semelhante ao que posso fazer no Boost:
onde "boost::bind" é um template que efetua o currying de MyReadHandler, passando a "this" o ponteiro para função-membro "MyClass::MyReadHandler", e então passando os parâmetros a essa função-membro: error e bytes_transferred.
Isso é currying de função ou pré-configuração do objeto?
Currying em Java só no dia que tivermos objetos-Função/Bloco
|
|
|
 |
|
|