# :FOO === "FOO" =\> true and case/when behavior

**URL:** <https://www.ruby-forum.com/t/foo-foo-true-and-case-when-behavior/152689>\
**Category:** Development\
**Created:** [November 6, 2008, 1:49pm UTC](https://www.ruby-forum.com/t/foo-foo-true-and-case-when-behavior/152689 "2008-11-06T13:49:07Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [November 6, 2008, 1:49pm UTC](https://www.ruby-forum.com/t/foo-foo-true-and-case-when-behavior/152689/1 "2008-11-06T13:49:07Z")

</div>

e$B$1$$$8$e!w$$$7$D$+$G$9e(B.

e$B0J2\<$N%9%/%j%W%H$r\<B9T$9$k$He(B:

–  
p :FOO === “FOO”

FOO = :FOO

case “FOO”  
when FOO  
puts 1  
else  
puts 0  
end

## case “FOO” when :FOO puts 1 else puts 0 end

e$B0J2\<$N$h$&$J7k2L$K$J$j$^$9e(B:

## – emperor2% ruby-dev -v /tmp/g.rb ruby 1.9.0 (2008-11-04 revision 20106) [i686-linux] true 1 0

2e$B$D\<ALd$,$"$C$Fe(B,

:FOO === “FOO” ==\> true

e$B$K$J$k$N$O;EMM$J$N$+e(B? e$B$H$$$&$3$H$He(B,

e$B\>e5-$Ne(B case/when  
e$B$N?6$kIq$$$,0[$J$k$N$+$,NI$/M}2r$G$-$J$$$N$G$9$,e(B, e$B$Je(B  
e$B$\<$G$7$g$&$+e(B?

\_\_  
----------------------------------------------------\>\> e$B@PDMe(B  
e$B7=\<ye(B \<\<—  
----------------------------------\>\> e-mail: removed\_email\_address@domain.invalid \<\<—

---

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [November 6, 2008, 11:00pm UTC](https://www.ruby-forum.com/t/foo-foo-true-and-case-when-behavior/152689/2 "2008-11-06T23:00:43Z")

</div>

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:37026] :FOO === “FOO” =\> true and case/when  
behavior”  
on Thu, 6 Nov 2008 21:46:18 +0900, removed\_email\_address@domain.invalid (Keiju  
ISHITSUKA) writes:

|2e$B$D\<ALd$,$"$C$Fe(B,  
|  
| :FOO === “FOO” ==\> true  
|  
|e$B$K$J$k$N$O;EMM$J$N$+e(B? e$B$H$$$&$3$H$He(B,

e$B$"!\<!"%P%0$G$9!#e(BSymbol#===e$B$O0JA0e(BSymbole$B$He(BStringe$B$N8\_49@-$r9b$ae(B  
e$B$?;~$NL\>;D$G8=:\_$OITMW$J$b$N$G$9!#D\>$7$^$9!#e(B

|e$B\>e5-$Ne(B case/when e$B$N?6$kIq$$$,0[$J$k$N$+$,NI$/M}2r$G$-$J$$$N$G$9$,e(B, e$B$Je(B  
|e$B$\<$G$7$g$&$+e(B?

e$B$(!\<$H!"$\*$=$i$/$Oe(Bwhene$B$G;XDj$7$?CM$,%j%F%i%k$G$"$k\>l9g!":GE,e(B  
e$B2=$,9T$o$l$F!"$=$A$i$O\>e5-$N!V%P%0!W$r9MN8$7$F$$$J$$$+$i$G$Oe(B  
e$B$J$$$G$7$g$&$+!#e(B

```
                            e$B$^$D$b$He(B e$B$f$-$R$me(B /:|)
```

---

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [November 7, 2008, 6:14am UTC](https://www.ruby-forum.com/t/foo-foo-true-and-case-when-behavior/152689/3 "2008-11-07T06:14:43Z")

</div>

e$B$1$$$8$e!w$$$7$D$+$G$9e(B.

In [ruby-dev :37030] the message: "[ruby-dev:37030] Re: :FOO ===  
“FOO” =\> true and case/when behavior ", on Nov/07 06:56(JST) Yukihiro  
Matsumoto writes:

> e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

> e$B$"!\<!"%P%0$G$9!#e(BSymbol#===e$B$O0JA0e(BSymbole$B$He(BStringe$B$N8\_49@-$r9b$ae(B  
> e$B$?;~$NL\>;D$G8=:\_$OITMW$J$b$N$G$9!#D\>$7$^$9!#e(B

e$BF0:n3NG’$7$^$7$?e(B.

> e$B$(!\<$H!"$\*$=$i$/$Oe(Bwhene$B$G;XDj$7$?CM$,%j%F%i%k$G$"$k\>l9g!":GE,e(B  
> e$B2=$,9T$o$l$F!"$=$A$i$O\>e5-$N!V%P%0!W$r9MN8$7$F$$$J$$$+$i$G$Oe(B  
> e$B$J$$$G$7$g$&$+!#e(B

e$B7k9=HyL/$J:GE,2=$J$s$G$9$Me(B:

case “FOO”  
when :FOO  
puts 1  
else  
puts 0  
end

BAR = 1

case “FOO”  
when BAR  
puts :BAR  
when :FOO  
puts 1  
else  
puts 0  
end

e$B\>e$H$7$?$G$Oe(B, when :SYMBOL e$B$N07$$$,0c$C$F$$$k$s$G$9$Me(B.

\_\_  
----------------------------------------------------\>\> e$B@PDMe(B  
e$B7=\<ye(B \<\<—  
----------------------------------\>\> e-mail: removed\_email\_address@domain.invalid \<\<—

---

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [November 12, 2008, 4:37am UTC](https://www.ruby-forum.com/t/foo-foo-true-and-case-when-behavior/152689/4 "2008-11-12T04:37:50Z")

</div>

e$BKNIt$G$9!#e(B

Yukihiro M. e$B$5$s$O=q$-$^$7$?e(B:

> e$B$"!\<!"%P%0$G$9!#e(BSymbol#===e$B$O0JA0e(BSymbole$B$He(BStringe$B$N8\_49@-$r9b$ae(B  
> e$B$?;~$NL\>;D$G8=:\_$OITMW$J$b$N$G$9!#D\>$7$^$9!#e(B

e$BITMW$J$b$N$J$N$G$9$+e(B?  
e$B$3$N;EMM$K0MB8$7$?%3!\<%I$,$"$C$?$N$G$9$,!"$;$a$Fe(B1.9.1e$B$@$1$G$b$b$H$KLa$je(B  
e$B$^$;$s$+e(B?

# 

e$B$C$F$+:#99e(B1.9.1e$B$G?6$kIq$$$,JQ$o$k$H$O;W$C$F$J$+$C$?$N$GIT0U$r$D$+$l$?e(B

---

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [November 12, 2008, 9:39am UTC](https://www.ruby-forum.com/t/foo-foo-true-and-case-when-behavior/152689/5 "2008-11-12T09:39:11Z")

</div>

Yuguie$B$G$9!#e(B

Urabe S. e$B$5$s$O=q$-$^$7$?e(B:

> e$BITMW$J$b$N$J$N$G$9$+e(B?  
> e$B$3$N;EMM$K0MB8$7$?%3!\<%I$,$"$C$?$N$G$9$,!"$;$a$Fe(B1.9.1e$B$@$1$G$b$b$H$KLa$je(B  
> e$B$^$;$s$+e(B?
> 
> # e$B$C$F$+:#99e(B1.9.1e$B$G?6$kIq$$$,JQ$o$k$H$O;W$C$F$J$+$C$?$N$GIT0U$r$D$+$l$?e(B

e$B$3$l$OL@$i$+$K%P%0$@$7!"0MB8$7$F$k%3!\<%I$b$=$&$=$&$J$$$@$m$&$HH=CG$7$F\<he(B  
e$B$j9~$\_$^$7$?!#;29M$^$G$K0MB8%3!\<%I$NNc$r$$$?$@$1$^$;$s$+e(B?

---

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [November 12, 2008, 11:34am UTC](https://www.ruby-forum.com/t/foo-foo-true-and-case-when-behavior/152689/6 "2008-11-12T11:34:52Z")

</div>

Yugui (Yuki S.) e$B$5$s$O=q$-$^$7$?e(B:

> > 
> 
> e$B$3$l$OL@$i$+$K%P%0$@$7!"0MB8$7$F$k%3!\<%I$b$=$&$=$&$J$$$@$m$&$HH=CG$7$F\<he(B  
> e$B$j9~$\_$^$7$?!#;29M$^$G$K0MB8%3!\<%I$NNc$r$$$?$@$1$^$;$s$+e(B?

e$B$($C$H!"0lIt$N?M$K$O$^$?$+$h$C$F8@$o$l$=$&$J$s$G$9$1$I!"e(BHashe$B$He(BProce$B$H;H$Ce(B  
e$B$Fe(BPythone$B$H$+e(BJavaScripte$B$\_$?$$$J%\*%V%8%’%/%H$r:n$C$F$?$o$1$G$9!#e(B

class Hash  
def method\_missing mid, \*a, &b;  
case mid.to\_s.chomp(’=’)  
when \*self.keys then fetch(mid).call(\*a, &b)  
end  
end  
end

{ foo: -\> { p self},  
bar: -\> x, y { x.send y } }.foo

e$B$3$&$$$&$N$M!#e(B
