From: Gennady Date: 2004-02-05T02:15:07+09:00 Subject: Re: RCR draft for enhanced "case..when..else..end" syntax Austin Ziegler wrote: > On Wed, 4 Feb 2004 01:00:25 +0900, Gennady wrote: > >>Guoliang Cao wrote: >>Do you know about this syntax currently available? > > >>a = "aaa" >>b = "bbb" >>case >> when a == "aaa", b == "bbb" >> puts "Lowercase detected" >> when a == "AAA", b == "BBB" >> puts "Uppercase detected" >> else >> puts "Detection failed" >>end > > > What you've written here will do alternatives checks. Thus, if you have: > > a = "aaa" > b = "BBB" > > then "Lowercase detected" will be printed. With "AAA" and "bbb", "Lowercase > detected" will still be printed. Nice investigative job ;-). But remember that it was only a quick demonstration of a "hidden" case syntax. > > irb(main):001:0> def ct(a, b) > irb(main):002:1> case > irb(main):003:2* when a == "aaa", b == "bbb" > irb(main):004:2> puts "Lowercase" > irb(main):005:2> when a == "AAA", b == "BBB" > irb(main):006:2> puts "Uppercase" > irb(main):007:2> else > irb(main):008:2* puts "Failed" > irb(main):009:2> end > irb(main):010:1> end # => nil > irb(main):011:0> ct("aaa", "bbb") # Lowercase => nil > irb(main):012:0> ct("aaa", "BBB") # Lowercase => nil > irb(main):013:0> ct("AAA", "BBB") # Uppercase => nil > irb(main):014:0> ct("AAA", "bbb") # Lowercase => nil > > -austin > -- > austin ziegler * austin@halostatue.ca * Toronto, ON, Canada > software designer * pragmatic programmer * 2004.02.04 > * 11.53.52 > > > Gennady.