Issue #8956 has been updated by Alexey Muranov. I have proposed another version: #10528. ---------------------------------------- Feature #8956: Allow hash members delimited by \n inside of {} https://bugs.ruby-lang.org/issues/8956#change-50020 * Author: Adam Dunson * Status: Rejected * Priority: Normal * Assignee: * Category: core * Target version: ---------------------------------------- Currently, hashes require members to be delimited by commas (`,`), even inside curly braces. E.g., ~~~ruby some_hash = { :foo => 'bar', :bar => 'foo', :baz => { :qux => 'quux', :corge => 'grault' } } ~~~ In my opinion, these commas add nothing of value to this particular example since, visually, the members are already delimited by a newline (`\n`). Additionally, missing a comma between members results in `syntax error, unexpected tSYMBEG, expecting '}'`. I propose we make these commas optional, such that the following syntax would be possible: ~~~ruby some_hash = { :foo => 'bar' :bar => 'foo' :baz => { :qux => 'quux' :corge => 'grault' } } ~~~ This change would not affect existing hashes. Developers would be able to mix and match the old and new syntaxes as such: ~~~ruby some_hash = { :foo => 'bar' :bar => 'foo' :baz => { :foo => 'bar' + 'baz' :bar => 'foo', :qux => 'quux' :corge => 'grault' } } ~~~ This change would also reduce the occurrence of syntax errors in cases where the developer temporarily replaces a value in the hash, e.g., ~~~ruby some_hash = { :this => 'that', :foo => 'not bar'#'bar', :those => 'the other' } ~~~ Finally, this change would only affect hashes inside curly braces (for hopefully obvious reasons). I have attached a diff of my suggested changes along with a script to test a variety of use cases. I also have an open pull request on GitHub: URL:https://github.com/ruby/ruby/pull/402 Please let me know if there's anything I've missed or that needs clarification. ---Files-------------------------------- fix-hash-delims.patch (1.37 KB) hash-test.rb (1.05 KB) add-array-support.patch (2.6 KB) add-method-arg-support.patch (2.48 KB) add-method-arg-support-FIXED.patch (2.32 KB) no-comma-tests.patch (2.38 KB) comic-pet-desktop-very-happy-cat.jpg (457 KB) -- https://bugs.ruby-lang.org/