# \[Bug #3456\] bisarre comma

**URL:** <https://www.ruby-forum.com/t/bug-3456-bisarre-comma/190422>\
**Category:** Development\
**Created:** [June 19, 2010, 7:05pm UTC](https://www.ruby-forum.com/t/bug-3456-bisarre-comma/190422 "2010-06-19T19:05:23Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Shyouhei\_U](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/94ad74/32.png) [@Shyouhei\_U](https://www.ruby-forum.com/u/Shyouhei_U)\
**Post date:** [June 19, 2010, 7:05pm UTC](https://www.ruby-forum.com/t/bug-3456-bisarre-comma/190422/1 "2010-06-19T19:05:23Z")

</div>

Bug #3456: bisarre comma  
[http://redmine.ruby-lang.org/issues/show/3456](http://redmine.ruby-lang.org/issues/show/3456)

e$B5/I\<\<Te(B: Shyouhei U.  
e$B%9%F!\<%?%9e(B: Assigned, e$BM%@hEYe(B: Normal  
e$BC4Ev\<Te(B: Yukihiro M., e$B%+%F%4%je(B: core, Target version:  
1.9.2  
ruby -v: ruby 1.9.3dev (2010-06-19 trunk 28363) [x86\_64-linux]

e$B$R$g$C$H$7$F0U?^E\*$J$N$+$b$7$l$^$;$s$,!"0J2\<$N$h$&$JFf$Ne(B ,  
e$B$,e(B1.9e$B7O$Ge(BSyntax OKe$B$K$J$k$N$O$J$s$G$G$7$g$&e(B?

% ruby -wcve ‘x y , ;’  
ruby 1.8.8dev (2010-06-15 revision 27061) [x86\_64-linux]  
-e:1: syntax error, unexpected ‘;’  
% ruby -wcve ‘x y , ;’  
ruby 1.9.3dev (2010-06-19 trunk 28363) [x86\_64-linux]  
Syntax OK

---

<div class="post-metadata">

**Author:** ![Shyouhei\_U](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/94ad74/32.png) [@Shyouhei\_U](https://www.ruby-forum.com/u/Shyouhei_U)\
**Post date:** [June 20, 2010, 8:48am UTC](https://www.ruby-forum.com/t/bug-3456-bisarre-comma/190422/2 "2010-06-20T08:48:47Z")

</div>

e$B$J$+$@$G$9!#e(B

At Sun, 20 Jun 2010 02:04:50 +0900,  
Shyouhei U. wrote in [ruby-dev:41654]:

> e$B$R$g$C$H$7$F0U?^E\*$J$N$+$b$7$l$^$;$s$,!"0J2\<$N$h$&$JFf$Ne(B , e$B$,e(B1.9e$B7O$Ge(BSyntax OKe$B$K$J$k$N$O$J$s$G$G$7$g$&e(B?

e$B0U?^E\*$J$h$&$G$9!#e(B

r19837 | matz | 2008-10-18 20:49:39 +0900 (Sat, 18 Oct 2008) | 2 lines

- parse.y (opt\_block\_arg): allow trailing comma after usual  
arguments. not after block argument.

---

<div class="post-metadata">

**Author:** ![Shyouhei\_U](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/94ad74/32.png) [@Shyouhei\_U](https://www.ruby-forum.com/u/Shyouhei_U)\
**Post date:** [June 23, 2010, 3:27pm UTC](https://www.ruby-forum.com/t/bug-3456-bisarre-comma/190422/3 "2010-06-23T15:27:02Z")

</div>

e$B%A%1%C%He(B #3456 e$B$,99?7$5$l$^$7$?!#e(B (by Yusuke E.)

e$B%9%F!\<%?%9e(B Assignede$B$+$ie(BRejectede$B$KJQ99e(B

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

e$B0U?^$O$o$+$j$^$;$s$,!“\>/$J$/$H$b0U?^$7$?JQ99$G$”$k$3$H$O3N$+$J$h$&e(B  
e$B$G$9$N$G!“$3$N%A%1%C%H$OJD$8$^$9!#e(B  
rationale e$B$O;d$b6=L#$”$k$H$3$m$G$9$,!"e(Bredmine  
e$B$N30$G$d$j$^$7$g$&!#e(B

2010e$BG/e(B6e$B7ne(B20e$BF|e(B15:48 Nobuyoshi N.  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> - parse.y (opt\_block\_arg): allow trailing comma after usual  
> arguments. not after block argument.
> 
> –  
> — e$BKM$NA0$Ke(BBuge$B$O$J$$!#e(B  
> — e$BKM$N8e$m$Ke(BBuge$B$O$G$-$k!#e(B  
> e$BCfEDe(B e$B?-1Ye(B

## – Yusuke E. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

[http://redmine.ruby-lang.org/issues/show/3456](http://redmine.ruby-lang.org/issues/show/3456)

---

<div class="post-metadata">

**Author:** ![Shyouhei\_U](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/94ad74/32.png) [@Shyouhei\_U](https://www.ruby-forum.com/u/Shyouhei_U)\
**Post date:** [June 24, 2010, 11:12am UTC](https://www.ruby-forum.com/t/bug-3456-bisarre-comma/190422/4 "2010-06-24T11:12:32Z")

</div>

e$B%A%1%C%He(B #3456 e$B$,99?7$5$l$^$7$?!#e(B (by Akinori MUSHA)

array = [  
1,  
2,  
]

hash = {  
:a =\> 1,  
:b =\> 2,  
}

some\_method(1, 2, {  
:a =\> 1,  
:b =\> 2,  
})

e$B$O5v$5$l$k$N$G!"e(B

some\_method(  
1,  
2,  
)

e$B$de(B

some\_method(1, 2,  
:a =\> 1,  
:b =\> 2,  
)

## e$B$be(BOKe$B$K$7$?$H$$$&$3$H$G$O$J$$$G$7$g$&$+!#e(B

[http://redmine.ruby-lang.org/issues/show/3456](http://redmine.ruby-lang.org/issues/show/3456)

---

<div class="post-metadata">

**Author:** ![Shyouhei\_U](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/94ad74/32.png) [@Shyouhei\_U](https://www.ruby-forum.com/u/Shyouhei_U)\
**Post date:** [June 27, 2010, 7:43pm UTC](https://www.ruby-forum.com/t/bug-3456-bisarre-comma/190422/5 "2010-06-27T19:43:53Z")

</div>

e$B%A%1%C%He(B #3456 e$B$,99?7$5$l$^$7$?!#e(B (by Shyouhei U.)

e$B%9%F!\<%?%9e(B Rejectede$B$+$ie(BOpene$B$KJQ99e(B

e$B$$$d!"$d$C$Q$\*$+$7$$$G$9!#0J2\<$NNc$rH/8+$7$^$7$?!#e(B

zsh % ruby -ve ‘i j,’ -e’k i’  
ruby 1.9.3dev (2010-06-28 trunk 28452) [x86\_64-linux]  
-e:2: syntax error, unexpected tIDENTIFIER, expecting keyword\_do or ‘{’  
or ‘(’

e$B$b$A$m$se(B , e$B$,$J$1$l$Pe(Bsyntax errore$B$K$O$J$j$^$;$s!#e(B

* * *

[http://redmine.ruby-lang.org/issues/show/3456](http://redmine.ruby-lang.org/issues/show/3456)

---

<div class="post-metadata">

**Author:** ![Shyouhei\_U](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/94ad74/32.png) [@Shyouhei\_U](https://www.ruby-forum.com/u/Shyouhei_U)\
**Post date:** [June 27, 2010, 7:52pm UTC](https://www.ruby-forum.com/t/bug-3456-bisarre-comma/190422/6 "2010-06-27T19:52:39Z")

</div>

e$B%A%1%C%He(B #3456 e$B$,99?7$5$l$^$7$?!#e(B (by Yusuke E.)

e$B%9%F!\<%?%9e(B Opene$B$+$ie(BRejectede$B$KJQ99e(B

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

2 e$B$DL$Ne(B -e e$B$OC1$K\<!$N9T$KB3$$$F$$$k$HH=Dj$5$l$k$h$&$G$9!#e(B

$ ./ruby -ve ‘p 1 +’ -e ‘1’  
ruby 1.9.3dev (2010-06-27 trunk 28451) [i686-linux]  
2

e$BMW$9$k$K0J2\<$HF1$8$G$9!#e(B

$ ./ruby -ve ‘i j,  
k i’  
ruby 1.9.3dev (2010-06-27 trunk 28451) [i686-linux]  
-e:2: syntax error, unexpected tIDENTIFIER, expecting keyword\_do or ‘{’  
or ‘(’

$ ./ruby -ve ‘i j, k i’  
ruby 1.9.3dev (2010-06-27 trunk 28451) [i686-linux]  
-e:1: syntax error, unexpected tIDENTIFIER, expecting keyword\_do or ‘{’  
or ‘(’

e$B$3$N;EMM$N@'Hs$O5DO@$NM\>CO$,$“$j$=$&$G$9$,!”%P%0$G$O$J$$$H9M$($^$9!#e(B

## – Yusuke E. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

[http://redmine.ruby-lang.org/issues/show/3456](http://redmine.ruby-lang.org/issues/show/3456)

---

<div class="post-metadata">

**Author:** ![Shyouhei\_U](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/94ad74/32.png) [@Shyouhei\_U](https://www.ruby-forum.com/u/Shyouhei_U)\
**Post date:** [June 27, 2010, 8:23pm UTC](https://www.ruby-forum.com/t/bug-3456-bisarre-comma/190422/7 "2010-06-27T20:23:42Z")

</div>

e$B%A%1%C%He(B #3456 e$B$,99?7$5$l$^$7$?!#e(B (by Shyouhei U.)

e$B%9%F!\<%?%9e(B Rejectede$B$+$ie(BOpene$B$KJQ99e(B

e$B$($($H!“$Y$D$K8=\>u$N2r@b$rJ9$-$?$$$o$1$G$O$”$j$^$;$s!#$I$&$7$F%(%i!\<$K$J$k$+$/$i$$$O3NG’$7$F$+$iJs9p$7$^$7$?$N$G!#e(B

e$B$G!“26$,$3$l$O%P%0$@$H;W$&$N$O!“3g8L$N$”$k$J$7$G0UL#$,JQ$o$k$H$$$&$N$,6’0-$@$H$$$&;W$&$+$i$G$9!#$J$\<e(B  
i(j,)  
k l  
e$B$,e(BOKe$B$Ge(B  
i j,  
k l  
e$B$,e(BNGe$B$J$N$+!”$"$-$i$+$K:.Mp$N$b$H$G$9!#$5$i$K$$$&$He(B  
i j, do end  
k l  
e$B$b8=\>ue(BOKe$B$G$9!#$b$O$d$o$1$o$+$i$s!#e(B

## e$B$3$N9TKv$Ke(B,e$B$r5v$=$&$H$7$?JQ99$Oe(Breverte$B$7$?$[$&$,$h$$$H;W$$$^$9!#e(B

[http://redmine.ruby-lang.org/issues/show/3456](http://redmine.ruby-lang.org/issues/show/3456)

---

<div class="post-metadata">

**Author:** ![Shyouhei\_U](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/94ad74/32.png) [@Shyouhei\_U](https://www.ruby-forum.com/u/Shyouhei_U)\
**Post date:** [June 27, 2010, 8:34pm UTC](https://www.ruby-forum.com/t/bug-3456-bisarre-comma/190422/8 "2010-06-27T20:34:14Z")

</div>

e$B%A%1%C%He(B #3456 e$B$,99?7$5$l$^$7$?!#e(B (by Yusuke E.)

e$B%9%F!\<%?%9e(B Opene$B$+$ie(BAssignede$B$KJQ99e(B  
Target version 1.9.2e$B$+$ie(B1.9.xe$B$KJQ99e(B

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

e$B$^$:!“e(B1.9.2 e$B$Ge(B revert e$B$9$k$3$H$O$”$j$($^$;$s!#e(B  
e$B$3$N%A%1%C%H$Oe(B 1.9.x e$B$K@\_Dj$7$F$\*$-$^$9!#e(B  
e$B$?$@!“$3$l$Oe(B 1.9.1 e$B$+$i$”$kJ8K!$J$N$Ge(B 1.9.x e$BCf$Ge(B  
revert e$B$9$k$N$be(B  
e$B$+$J$jH?BP$G$9!#e(B

e$B5!G=\<+BN$K$D$$$F$O!"e(BSet[1,2,3,] e$B$r5v$9$N$O;?@.$J$N$G$9$,!“e(B  
foo(1,2,3,) e$B$r5v$9I,MW$,$”$k$H$O;W$$$^$;$s!#e(B  
foo(1,2,3,a:1,b:2,) e$B$O!"HyL/$J$H$3$m$G$9!#e(B  
foo 1,2,3,a:1,b:2, e$B$O!"KNIt$5$s$HF1$8M}M3$G5v$5$J$$J}$,$h$5$=$&$Je(B  
e$B5$$,$7$^$9!#e(B

## – Yusuke E. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

[http://redmine.ruby-lang.org/issues/show/3456](http://redmine.ruby-lang.org/issues/show/3456)
