| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/03/2008 18:57:42
|
Fabio Kung
JavaEvangelist
Membro desde: 08/03/2004 08:24:47
Mensagens: 445
Localização: São Paulo
Offline
|
Maurício Linhares wrote:Tem algum jeito de pegar o call stack atual em Ruby como tem em Java?
Tem isso, mas não serve:
http://ruby-doc.org/core/classes/Kernel.html#M005955
Do jeito que você quer não conheç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 19:40:25
|
Marcio Duran
Forum Spammer
![[Avatar]](/images/avatar/df0e19d29493ef2136fc3e2fc029c054.jpg)
Membro desde: 23/01/2008 11:14:35
Mensagens: 1905
Offline
|
thingol wrote:
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.
O assunto continua sendo Ruby, mas posso dizer que você tem tamanha imaginação para canditado a "blue-collar".
"Em relação a querer aprender ou ter conhecimento isso vai da vontade e busca da investigação ao saber de cada um"
"Apostila Ruby on Rails fique avontade para abrir sua mente"
Ruby on Rails
http://linorg.ciagri.usp.br/ftp/pub/webdev/rails-tutorial.pdf
This message was edited 2 times. Last update was at 05/03/2008 08:12:32
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/03/2008 20:13:50
|
louds
Moderador
![[Avatar]](/images/avatar/1e48c4420b7073bc11916c6c1de226bb.jpg)
Membro desde: 29/04/2003 23:09:15
Mensagens: 4061
Localização: São Paulo
Offline
|
O povo do rubinius tava fazendo algo no sentido de permitir stack walk arbitrário, sendo possível Não sei se é possível capturar com contexto de um frame, entretanto.
|
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 22:15:03
|
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
|
Realmente, não serve não.
Que triste
|
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 23:12:56
|
TheMask
JavaBaby
![[Avatar]](/images/avatar/e6abb6620be44e2035008f84888a43b1.jpg)
Membro desde: 14/04/2006 19:28:16
Mensagens: 79
Offline
|
Gujeiros,
será que vocês poderiam citar referências bibliográficas para entendermos esse papo todo? Não, não quero nenhum livro dos Deitel. E nem precisa ser um Head First Metaprogramming. Pode mandar algo mais bizarro.
Acabei de me avaliar como white-and-yellow-collar!
This message was edited 1 time. Last update was at 04/03/2008 23:14:24
|
**** Demaaaaaaais ****
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/03/2008 00:10:56
|
louds
Moderador
![[Avatar]](/images/avatar/1e48c4420b7073bc11916c6c1de226bb.jpg)
Membro desde: 29/04/2003 23:09:15
Mensagens: 4061
Localização: São Paulo
Offline
|
TheMask wrote:Gujeiros,
será que vocês poderiam citar referências bibliográficas para entendermos esse papo todo? Não, não quero nenhum livro dos Deitel. E nem precisa ser um Head First Metaprogramming. Pode mandar algo mais bizarro.
Acabei de me avaliar como white-and-yellow-collar!
Procure pelo assunto no lambda the ultimate e no citeseer. Boa leitura.
|
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) 05/03/2008 06:28:22
|
Fabio Kung
JavaEvangelist
Membro desde: 08/03/2004 08:24:47
Mensagens: 445
Localização: São Paulo
Offline
|
TheMask wrote:Gujeiros,
será que vocês poderiam citar referências bibliográficas para entendermos esse papo todo? Não, não quero nenhum livro dos Deitel. E nem precisa ser um Head First Metaprogramming. Pode mandar algo mais bizarro.
Acabei de me avaliar como white-and-yellow-collar!
Ruby for Rails do David Black também é uma boa leitura e aborda coisas interessantes sobre metaprogramação aplicada no rails.
|
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) 05/03/2008 08:53:45
|
moises.trovo
Thread.start()
Membro desde: 20/11/2007 09:51:43
Mensagens: 46
Offline
|
Eu ainda não entendi direito o que você está tentando fazer, vc procura algo como se os contextos fossem se sobrepondo numa pilha ou uma "herança de escopo", mas ainda não entendi o que isso tem a ver com monkey patching.
O que eu pensei foi em passar o contexto que tem o método que vc qr acessar por variável.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/03/2008 09:06:59
|
pcalcado
Moderador
![[Avatar]](/images/avatar/110eec23201d80e40d0c4a48954e2ff5.jpg)
Membro desde: 08/03/2004 17:19:35
Mensagens: 5170
Localização: Sydney - Australia
Offline
|
O seu exemplo é basicamente aq mesma coisa do do Kung, com a direção invertida. Ainda é uma gambiarra e apesar de solucionar o exemplo (1)cria ainda mais sintaxe acidental e (2)não resolve todos os casos, e se eu quiser ter três níveis? Níveis arbitrários? A pergunta é: como resolver isso sem mexer no bloco nem na invocacão do método? O problema é que se eu não tenho mecanismo de binding decente eu crio muitos métodos em classes existentes, como no caso que citei do Selenium onde uma classe de domínio teve que incluir um módulo do SeleniumRC. No fim do dia você acaba tendo métodos em Fixnum que ó são usados em um canto escuso de uma biblioteca que você importou. Um bom exemplo é o problema que o RSpec cria aodefinir métodos em Object. Se fosse possível definir métodos apenas dentro do bloco it() ele não precisaria poluir todo o namespace com metodos que só fazem sentido nele. Com a ênfase em DSLs em Ruby pode-se esperar ainda mais oluição, cada DSL implementa sua gambiarra para ter uma sintaxe diferenciada e no final seu Fixnum vai estar assoviando, chupando cana e se chamando Roberta Close.
This message was edited 1 time. Last update was at 05/03/2008 09:08:43
|
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) 05/03/2008 09:51:05
|
Fabio Kung
JavaEvangelist
Membro desde: 08/03/2004 08:24:47
Mensagens: 445
Localização: São Paulo
Offline
|
Phillip, que tal colocar as operações que vc quer adicionar nas classes (limitando o escopo) em um módulo e sobrescrever o append_features (http://ruby-doc.org/core/classes/Module.html#M001659):
Gambi forte. Não sei se é pior que passar o contexto pai como variável...
This message was edited 1 time. Last update was at 05/03/2008 09:56:04
|
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) 05/03/2008 10:01:40
|
pcalcado
Moderador
![[Avatar]](/images/avatar/110eec23201d80e40d0c4a48954e2ff5.jpg)
Membro desde: 08/03/2004 17:19:35
Mensagens: 5170
Localização: Sydney - Australia
Offline
|
E eu faço a mesma besteira que o Rails faz e fico com uma thread só?
Nah, a outra gambiarra pelo menos era tread-safe
|
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) 05/03/2008 10:07:20
|
Fabio Kung
JavaEvangelist
Membro desde: 08/03/2004 08:24:47
Mensagens: 445
Localização: São Paulo
Offline
|
é, mas a outra tb não resolve o problema do "scoped monkey patching"!
|
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) 05/03/2008 10:27:22
|
Fabio Kung
JavaEvangelist
Membro desde: 08/03/2004 08:24:47
Mensagens: 445
Localização: São Paulo
Offline
|
(e acabaram as minhas idéias)
(por enquanto)
A conclusão é que se eu tivesse a solução para isso, já estaria tão famoso quanto o Phillip!
This message was edited 1 time. Last update was at 05/03/2008 10:27:37
|
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) 05/03/2008 17:31:37
|
pcalcado
Moderador
![[Avatar]](/images/avatar/110eec23201d80e40d0c4a48954e2ff5.jpg)
Membro desde: 08/03/2004 17:19:35
Mensagens: 5170
Localização: Sydney - Australia
Offline
|
São dois problemas. Um é a falta de opções de binding, fazendo com que eu tenha quea alterar classes (adicionar métodos em inteiros) quando o que eu queria era simplesmente que um método estivesse disponivel em um contexto qualquer. Outro é o fato de que se eu alterar uma classe (como consequência do primeiro ou não) eu altero ela em todo o sistemas. Será que JRuby não consegue resolver o seundo problema com classloaders diferentes? Não tenho idéia, não sei como o JRuby funciona... LOOOOOOOOOOOOOOUUUUUDS!!!
This message was edited 1 time. Last update was at 05/03/2008 17:35:21
|
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) 05/03/2008 18:00:27
|
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:São dois problemas. Um é a falta de opções de binding, fazendo com que eu tenha quea alterar classes (adicionar métodos em inteiros) quando o que eu queria era simplesmente que um método estivesse disponivel em um contexto qualquer. Outro é o fato de que se eu alterar uma classe (como consequência do primeiro ou não) eu altero ela em todo o sistemas.
Será que JRuby não consegue resolver o seundo problema com classloaders diferentes? Não tenho idéia, não sei como o JRuby funciona... LOOOOOOOOOOOOOOUUUUUDS!!!
Acho que usando 2 instancias, uma para a aplicação e outra para a DSL, com call by value, iow serializa todos argumentos, provavelmente funciona.
|
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 |
|
|
 |
|
|