Tiago Barcellos Peczenyj wrote:
> Percebi que se faço isso:
>
> A="sdfhsdfasdf"
> A
>
> Não rola nenhum tipo de erro por parte do interpretador Ruby,

É algo válido. Assim como 5 ou 5 + 9, etc. Como tudo são objetos, apenas
irá retornar o estado do objeto atual (conteúdo da variável). Sendo a
última expressão de um método, irá retornar um determinado valor. Seria
o mesmo que 'return a'. É bom lembrar que iniciando com letra maiúscula
é uma 'constante'.

> entretanto Java diria algo como
> Syntax error, insert "AssignmentOperator ArrayInitializer" to complete
> _expression_

Ok, Java é no outro departamento. :-)

> É possivel definir um método "default" num objeto de forma que, se
> houver uma linha com apenas este objeto, este método seja executado ?

O problema é saber que só existe aquele objeto na linha. Mas podes
verificar que, se estiveres no irb, entrando apenas A irá retornar um
valor. De qualquer forma dificultaria a legibilidade do programa. Seria
necessário saber o que o método default irá fazer. Mas poderias fazer
algo assim:

class String
  def default
    p "default"
  end
end

"string".default

> Eu acho isso util em strings, por exemplo. E como no Ruby não
> precisamos colocar return dentro dos métodos e funções... podia ter
> algo semelhante.
>
> To viajando ?

Viajar é ser criativo, portanto... Só não consegui pegar carona e
descobrir uma utilidade para um método default em uma classe string. :-)


--
Guaracy Monteiro

http://www.u-br.net
Cadafalso - http://cadafalso.deusexmachina.com.br/


_______________________________________________
Ruby-l mailing list
[email protected]
http://www.listas.unicamp.br/mailman/listinfo/ruby-l

Responder a