Project

General

Profile

Bug #13879

[Not sure if a bug or not] case/when menus and trailing ',' commas in when clauses

Added by shevegen (Robert A. Heiler) almost 3 years ago. Updated almost 3 years ago.

Status:
Rejected
Priority:
Normal
Assignee:
-
Target version:
-
ruby -v:
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]
[ruby-core:82699]

Description

Hello,

I am not sure if the following is a bug or a feature.

x = 'foobar'
case x
when 'a','b','c',
  x = 5
end
puts x

Works fine.

But this here:

x = 'foobar'
case x
when 'a','b','c',
  puts 5
end

Leads to this error:

syntax error, unexpected tINTEGER, expecting keyword_do or '{' or '('

Is this deliberately so? My confusion is that case/when works fine
in one case, but leads to an error in another case. I am not
sure if it is a bug or not, but I believe in the first case,
the user may have not wanted to put a trailing ',' there and
simply forgot to remove it. That is actually how I found out about
this behaviour, since I have a huge case/when menu and sometimes
make typos when re-arranging entries, including such trailing ','
via copy/paste jobs. :)

If it is a bug then perhaps it can be fixed; if it is not a
bug, perhaps the official documentation could explain this
feature? Or perhaps if trailing ',' are not useful, there
may be a warning issued or something in the first case.

Anyway, I am just reporting this in case nobody knows about
this - feel free to close this issue at any moment in time.

Thanks.

Also available in: Atom PDF