¿Hay alguna manera de invocar implícitamente métodos en el objeto de una declaración de caso? IE:Ruby: caso que usa el objeto
class Foo
def bar
1
end
def baz
...
end
end
Lo que me gustaría ser capaz de hacer algo como esto ...
foo = Foo.new
case foo
when .bar==1 then "something"
when .bar==2 then "something else"
when .baz==3 then "another thing"
end
... donde el "cuándo" declaraciones están evaluando el rendimiento de los métodos de el objeto del caso ¿Es posible alguna estructura como esta? No he sido capaz de averiguar la sintaxis de ser así ...
Creo que esto es lo más cercano a lo que quiero.Gracias :) – Andrew
¡oh, limpio! No lo sabía Dado eso, podrías combinarlo con instance_exec (ver mi respuesta) para obtener casi exactamente lo que delineaste en la pregunta. – Ian
Andrew, sin sudar. Ian, cierto eso. – hellodally