| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/03/2008 09:54:47
|
Daniel Quirino Oliveira
Moderador
![[Avatar]](/images/avatar/846c260d715e5b854ffad5f70a516c88.png)
Membro desde: 23/03/2003 23:57:34
Mensagens: 3280
Localização: Awawawawa (Araraquara) - SP
Offline
|
Márcio, por favor, não desvie o assunto do tópico. Se você tiver alguma coisa a acrescentar de útil a este tópico, por favor, faça-o. Caso contrário, evite postar mensagens fora do assunto central do tópico. Como você mesmo disse, existem mensagens privadas para isso. Assunto encerrado.
|
Daniel Quirino Oliveira |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/03/2008 10:08:31
|
Marcio Duran
Forum Spammer
![[Avatar]](/images/avatar/df0e19d29493ef2136fc3e2fc029c054.jpg)
Membro desde: 23/01/2008 11:14:35
Mensagens: 1905
Offline
|
Daniel Quirino Oliveira wrote:Márcio, por favor, não desvie o assunto do tópico. Se você tiver alguma coisa a acrescentar de útil a este tópico, por favor, faça-o. Caso contrário, evite postar mensagens fora do assunto central do tópico. Como você mesmo disse, existem mensagens privadas para isso. Assunto encerrado.
Peço a genteliza de passar essa mensagem aos demais que estão fazendo-o tamanha bossalidade e simplesmente vem de faixada aqui, e que não estão explorando o assunto.
Como disse questionei, o Louds por suas afirmações todavia as mesmas estão sendo questionadas aqui, não tomo partido por ninguem e eu espero que você faça o mesmo.
Att.
Marcio Duran
This message was edited 1 time. Last update was at 04/03/2008 10:10:41
|
Consultor Open Source
Comunidade JavaLivros
Twitter Comunidade JavaLivros
Novo Blog do MiddleHeaven |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/03/2008 10:19:27
|
nbluis
Forum Spammer
![[Avatar]](/images/avatar/f0682320ccbbb1f1fb1e795de5e5639a.jpg)
Membro desde: 27/05/2006 01:31:51
Mensagens: 1531
Localização: Porto Alegre - RS
Offline
|
Voltando ao tópico.
Marcio Duran, o que você não entendeu mesmo ?
Tem tantas referencias ali que já não sei mais.
Sobre metaprogramação , resolução de nomes ?
|
Luis Eduardo Bohrer
Any fool can write code that a computer can understand. Good programmers write code that humans can understand. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/03/2008 10:25:00
|
Marcio Duran
Forum Spammer
![[Avatar]](/images/avatar/df0e19d29493ef2136fc3e2fc029c054.jpg)
Membro desde: 23/01/2008 11:14:35
Mensagens: 1905
Offline
|
nbluis wrote:Voltando ao tópico.
Marcio Duran, o que você não entendeu mesmo ?
Tem tantas referencias ali que já não sei mais.
Sobre metaprogramação , resolução de nomes ?
Veja a afirmação do Louds sobre Escopo..., não entendi...
|
Consultor Open Source
Comunidade JavaLivros
Twitter Comunidade JavaLivros
Novo Blog do MiddleHeaven |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/03/2008 10:37:13
|
louds
Moderador
![[Avatar]](/images/avatar/1e48c4420b7073bc11916c6c1de226bb.jpg)
Membro desde: 29/04/2003 23:09:15
Mensagens: 4061
Localização: São Paulo
Offline
|
pcalcado wrote:
Eu quero que meu bloco tenha acesso ao escopo de B para poder usar o metodo bwawawawawa() mas ao mesmo tempo tenha acesso ao escopo original, para poder acessar @abc (ou um étodo que retorne abc, tanto faz).
Se não fosse por A ter estado eu poderia incluir B em A, o que seria gambiarra mas funcionaria e é o que fizemos com selenium. Este tipo de situação surge o tempo todo com DSLs.
Uma dúvida, se você casar um par de instance eval/ module_eval para instancias de definem apenas os *_missing não é possivel capturar todos bindings?
|
http://www.kumpera.net/blog/
http://www.mono-project.com/
"Each individual should work for himself. People will not sacrifice themselves for the company. They come to work at the company to enjoy themselves."
Soichiro Honda |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/03/2008 10:38:27
|
nbluis
Forum Spammer
![[Avatar]](/images/avatar/f0682320ccbbb1f1fb1e795de5e5639a.jpg)
Membro desde: 27/05/2006 01:31:51
Mensagens: 1531
Localização: Porto Alegre - RS
Offline
|
Marcio Duran wrote:
Veja a afirmação do Louds sobre Escopo..., não entendi...
Isso é exatamente o que está sendo discutido no tópico.
Este tópico tem um assunto mais complexo do que se está acostumado por ai.
Falam sobre o escopo de blocos dentro de ruby. Veja os exemplos do shoes que estão bem esplicados.
E inclusive a impossibilidade de limitar escopo de alterações feitas no core da linguagem possibilitada pelas classes abertas.
O post do louds sobre monkeypatching ficou bem legal.
Dá uma lida alí.
This message was edited 1 time. Last update was at 04/03/2008 10:40:35
|
Luis Eduardo Bohrer
Any fool can write code that a computer can understand. Good programmers write code that humans can understand. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/03/2008 12:41:14
|
Fabio Kung
JavaEvangelist
Membro desde: 08/03/2004 08:24:47
Mensagens: 445
Localização: São Paulo
Offline
|
pcalcado wrote:Soluciona o problema porque você etá usando funções apenas, não objetos. Que tal:
Eu quero que meu bloco tenha acesso ao escopo de B para poder usar o metodo bwawawawawa() mas ao mesmo tempo tenha acesso ao escopo original, para poder acessar @abc (ou um étodo que retorne abc, tanto faz).
Se não fosse por A ter estado eu poderia incluir B em A, o que seria gambiarra mas funcionaria e é o que fizemos com selenium. Este tipo de situação surge o tempo todo com DSLs.
Emulemos então o binding hierárquico!
Agoro Ruby, e adoro metaprogramação!
|
Procurando por oportunidades de emprego?
OndeTrabalhar.com
OndeTrabalhar.com Java?
http://blog.caelum.com.br
Fabio Kung
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/03/2008 13:22:44
|
louds
Moderador
![[Avatar]](/images/avatar/1e48c4420b7073bc11916c6c1de226bb.jpg)
Membro desde: 29/04/2003 23:09:15
Mensagens: 4061
Localização: São Paulo
Offline
|
Fabio Kung wrote:
Emulemos então o binding hierárquico!
Agoro Ruby, e adoro metaprogramação!
Você tá simulando herança aqui, não binding hierárquico.
|
http://www.kumpera.net/blog/
http://www.mono-project.com/
"Each individual should work for himself. People will not sacrifice themselves for the company. They come to work at the company to enjoy themselves."
Soichiro Honda |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/03/2008 13:40:40
|
nbluis
Forum Spammer
![[Avatar]](/images/avatar/f0682320ccbbb1f1fb1e795de5e5639a.jpg)
Membro desde: 27/05/2006 01:31:51
Mensagens: 1531
Localização: Porto Alegre - RS
Offline
|
louds wrote:
Você tá simulando herança aqui, não binding hierárquico.
Isso é bastante usado em javascript para fornecer herança.
Prototype é um exemplo disso.
|
Luis Eduardo Bohrer
Any fool can write code that a computer can understand. Good programmers write code that humans can understand. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/03/2008 14:22:55
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17442
Localização: SP
Offline
|
Bom, vou voltar aqui que a poeira abaixou, e vou fazer minhas declarações:
- Eu não sei Ruby;
- Entretanto, eu sei o que é metaprogramação e problemas de scoping e outros quetais;
- E vou fazer minha digressão aqui.
Há dois tipos de programadores: os "blue-collars" e os "white-collars". *
O sr. Gosling tinha afirmado uma vez que Java era para os programadores "blue-collar", ou seja, aqueles caras que antigamente se matavam para fazer os programas em C++ funcionarem, e agora se matam para fazer os programadores Java funcionarem no mundo real - deploys, web services e outras chateações. Eles não têm muitas idéias de conceitos abstratos, e é uma vitória que eles finalmente consigam entender corretamente o conceito de orientação a objeto, que levou muitas décadas para ser aceito.
Os "white-collars" são aqueles que entendem todos esses conceitos e criam novos, ou pelo menos têm a coragem de irem além desses conceitos. Programação funcional ou genérica para eles é o seu café da manhã, e é coisa muito antiga para eles - afinal de contas, quantos 50 anos tem a linguagem Lisp? Normalmente são os que falam de assuntos "esotéricos".
O sr. Marcio Duran (um clássico "blue-collar" - eles é que fazem o mundo girar) entrou no meio de uma discussão de "white-collars" e esperou tentar entender alguma coisa rapidamente**, só que não percebeu que "entrou na sala errada" e exigiu ser tratado como um igual. Aí é que ocorreu o problema.
---------
* Não estou usando aqui "white-collar" no sentido em que se dá nas editorias de política, que tratam de muitos "crimes de colarinho branco". Nada disso - uso em contraposição a "blue-collar", que é o colarinho de um macacão azul de um operário de fábrica.
** Como bom "blue-collar", ele não tem tempo de tentar entender essas coisas "esotéricas" e acha tudo uma grande besteira.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/03/2008 15:32:15
|
Fabio Kung
JavaEvangelist
Membro desde: 08/03/2004 08:24:47
Mensagens: 445
Localização: São Paulo
Offline
|
louds wrote:Você tá simulando herança aqui, não binding hierárquico.
Tem razão, mas nesse caso o efeito é o mesmo, certo?
E de qualquer forma, prefiro mesmo "simular herança" com delegação do que usar herança de verdade.
This message was edited 1 time. Last update was at 04/03/2008 15:32:39
|
Procurando por oportunidades de emprego?
OndeTrabalhar.com
OndeTrabalhar.com Java?
http://blog.caelum.com.br
Fabio Kung
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/03/2008 17:45:04
|
pcalcado
Moderador
![[Avatar]](/images/avatar/110eec23201d80e40d0c4a48954e2ff5.jpg)
Membro desde: 08/03/2004 17:19:35
Mensagens: 5170
Localização: Sydney - Australia
Offline
|
louds wrote:Uma dúvida, se você casar um par de instance eval/ module_eval para instancias de definem apenas os *_missing não é possivel capturar todos bindings?
É basicamente o que venho utilizando hoje para contornar. O problema é que preciso avaliar em elo menos 3 bindings: do closure, da classe que recebe o closure e top-level. Conseguir o primeiro é complicado, a menos qu você faça a gambi que o Kung posto de passar self no método
|
Phillip Calçado "Shoes"
http://fragmental.tw/
http://blog.fragmental.com.br/
"It is unfortunate that much of what is called 'object-oriented programming today is simply old style programming with fancier constructs." - Alan Kay |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/03/2008 18:06:17
|
Fabio Kung
JavaEvangelist
Membro desde: 08/03/2004 08:24:47
Mensagens: 445
Localização: São Paulo
Offline
|
gambi essa minha que é melhor que a gambi de incluir o modulo!
|
Procurando por oportunidades de emprego?
OndeTrabalhar.com
OndeTrabalhar.com Java?
http://blog.caelum.com.br
Fabio Kung
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/03/2008 18:22:05
|
Mauricio Linhares
Moderador
![[Avatar]](/images/avatar/97af07a14cacba681feacf3012730892.jpg)
Membro desde: 09/01/2005 23:28:22
Mensagens: 3654
Localização: João Pessoa, Paraíba - Brasil
Offline
|
Tem algum jeito de pegar o call stack atual em Ruby como tem em Java?
This message was edited 1 time. Last update was at 04/03/2008 18:22:21
|
Blog pt-br | Blog en | My Last.fm | Blog de RPG
----------------------------------------
PBJUG - Grupo de Usuários Java da Paraíba | Paraíba.rb - Paraíba Ruby Brigade
How do we tell truths that might hurt? |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/03/2008 18:48:35
|
pcalcado
Moderador
![[Avatar]](/images/avatar/110eec23201d80e40d0c4a48954e2ff5.jpg)
Membro desde: 08/03/2004 17:19:35
Mensagens: 5170
Localização: Sydney - Australia
Offline
|
Fabio Kung wrote:gambi essa minha que é melhor que a gambi de incluir o modulo!
Estamos discutindo qual gamiarra é melhor
CQD
|
Phillip Calçado "Shoes"
http://fragmental.tw/
http://blog.fragmental.com.br/
"It is unfortunate that much of what is called 'object-oriented programming today is simply old style programming with fancier constructs." - Alan Kay |
|
|
 |
|
|