From: shevegen@... Date: 2017-09-07T10:51:42+00:00 Subject: [ruby-core:82700] [Ruby trunk Bug#13879] [Not sure if a bug or not] case/when menus and trailing ', ' commas in when clauses Issue #13879 has been updated by shevegen (Robert A. Heiler). I forgot to add - I assume that the puts invocation may lead to trigger the above behaviour. My main confusion is why the ',' placed matters, depending whether one does an assignment, or invokes a method. I would have assumed that the first would also lead to a syntax error or similar, but instead ruby works just fine with it, so I am not sure if this is a bug or intended behaviour. ---------------------------------------- Bug #13879: [Not sure if a bug or not] case/when menus and trailing ',' commas in when clauses https://bugs.ruby-lang.org/issues/13879#change-66534 * Author: shevegen (Robert A. Heiler) * Status: Open * Priority: Normal * Assignee: * Target version: * ruby -v: ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux] * Backport: 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN ---------------------------------------- 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. -- https://bugs.ruby-lang.org/ Unsubscribe: