Esiste un modo per chiamare implicitamente metodi sull'oggetto di un'istruzione case? IE:Ruby: caso tramite oggetto
class Foo
def bar
1
end
def baz
...
end
end
Quello che mi piacerebbe essere in grado di fare è qualcosa di simile ...
foo = Foo.new
case foo
when .bar==1 then "something"
when .bar==2 then "something else"
when .baz==3 then "another thing"
end
... dove il "quando" dichiarazioni stanno valutando il ritorno di metodi su il caso oggetto. È possibile una struttura come questa? Non sono stato in grado di capire la sintassi se è così ...
Penso che questa sia la cosa più vicina a ciò che voglio.Grazie :) – Andrew
oh, pulito! Non lo sapevo. Detto questo, potresti combinarlo con instance_exec (vedi la mia risposta) per ottenere quasi esattamente ciò che hai delineato nella domanda. – Ian
Andrew, non c'è sudore. Ian, è vero. – hellodally