From: Austin Ziegler Date: 2004-02-05T01:58:30+09:00 Subject: Re: RCR draft for enhanced "case..when..else..end" syntax 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. 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