# Case statment not working with strings

**URL:** <https://www.ruby-forum.com/t/case-statment-not-working-with-strings/144840>\
**Category:** Ruby\
**Created:** [August 2, 2008, 11:27pm UTC](https://www.ruby-forum.com/t/case-statment-not-working-with-strings/144840 "2008-08-02T23:27:07Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![mike-moscow](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/53a042/32.png) [@mike-moscow](https://www.ruby-forum.com/u/mike-moscow)\
**Post date:** [August 2, 2008, 11:27pm UTC](https://www.ruby-forum.com/t/case-statment-not-working-with-strings/144840/1 "2008-08-02T23:27:07Z")

</div>

Hello, I have a rather simple case statement:

case event[‘event\_title’]  
when (‘Class GroupsPhoto Day’ || ‘Retake Day’ || ‘School Group’ ||  
‘Photo’ || ‘Staff Group Photo’ || ‘Staff Group Photo’ || ‘Teams and  
Clubs’ || ‘Group Photo Session’)  
blah…  
end

the thing stored in event[‘event\_title’] is a string and the values do  
match my strings (ie should evaluate to true), but the case is never  
evaluating to true.

any help appreciated, I could always use a big ugle if/elsif

---

<div class="post-metadata">

**Author:** ![mike-moscow](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/53a042/32.png) [@mike-moscow](https://www.ruby-forum.com/u/mike-moscow)\
**Post date:** [August 2, 2008, 11:31pm UTC](https://www.ruby-forum.com/t/case-statment-not-working-with-strings/144840/2 "2008-08-02T23:31:32Z")

</div>

2008/8/2 Mike M. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> Hello, I have a rather simple case statement:
> 
> case event[‘event\_title’]  
> when (‘Class GroupsPhoto Day’ || ‘Retake Day’ || ‘School Group’ ||  
> ‘Photo’ || ‘Staff Group Photo’ || ‘Staff Group Photo’ || ‘Teams and  
> Clubs’ || ‘Group Photo Session’)  
> blah…  
> end

Use a ‘,’ instead of ‘||’

Farrel

---

<div class="post-metadata">

**Author:** ![mike-moscow](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/53a042/32.png) [@mike-moscow](https://www.ruby-forum.com/u/mike-moscow)\
**Post date:** [August 2, 2008, 11:54pm UTC](https://www.ruby-forum.com/t/case-statment-not-working-with-strings/144840/3 "2008-08-02T23:54:18Z")

</div>

Thanks, also had to remove the parens

---

<div class="post-metadata">

**Author:** ![mike-moscow](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/53a042/32.png) [@mike-moscow](https://www.ruby-forum.com/u/mike-moscow)\
**Post date:** [August 3, 2008, 12:02am UTC](https://www.ruby-forum.com/t/case-statment-not-working-with-strings/144840/4 "2008-08-03T00:02:17Z")

</div>

Mike M. wrote:

> Thanks, also had to remove the parens

Your code also got rid of a few chars! I like it whenever in Ruby I  
successfully apply the rule “less is more” to achieve the same. 🙂
