Robert Klemme
1/3/2007 4:48:00 PM
On 03.01.2007 17:32, bwv549 wrote:
> Is there a way to access the variable being tossed through the
> case/when structure?
You mean *object* not *variable*. But no.
> case object.size.to_s
> when /33/
> # ...
> when /44/
> # ...
> else
> abort "Invalid variable: " + ???
> # Is there a way to access the variable being tossed through
> case/when?
> # something like: $_, or $!
> end
>
> One can always do this:
> x = object.size.to_s
> case x
> when /3ft/
> when /4cm/
> else
> abort "Bad match: #{x}"
> end
>
> But it would save a line to be able to access the actual variable being
> used in the case/when structure.
If you want to save a line you can do
case x = object.size.to_s
....
Btw, why do you convert to string and then use regexps on the name? Do
you want to check for numbers with all the same digits? You can do that
with this RX: /^(\d)\1*$/
Kind regards
robert