Feature #9445

Support emitting 1.9 Symbol keyword Hash syntax when pretty printing Hashes

Added by Hal Brodigan 3 months ago. Updated 3 months ago.

[ruby-core:60043]
Status:Open
Priority:Normal
Assignee:-
Category:lib
Target version:-

Description

Ruby 1.9 first introduced support for keyword Hash syntax for simple Symbol keys. However, Hash#inspect and pp do not emit the same syntax when printing Symbol keys. This patch adds support for "foo: " syntax to the pp_hash method, iff the key is a Symbol and does not contain any spaces or special characters. While the patch is probably not perfect, I hope to start a discussion.

pp.patch Magnifier - Patches the pp_hash method to emit "foo: " syntax for Symbol Hash keys (529 Bytes) Hal Brodigan, 01/24/2014 02:11 AM

History

#1 Updated by Nobuyoshi Nakada 3 months ago

Mixing foo: and bar => doesn't seem pretty to me.

#2 Updated by Hal Brodigan 3 months ago

While it may not be pretty, it is still valid Ruby syntax. If others disagree with mixing the two syntaxes, I can adjust the patch.

#3 Updated by Matthew Kerwin 3 months ago

I think it's better to not add unnecessary complexity. After all, we don't represent strings with single quotes, even when they don't contain escaped characters, and even when they do contain double-quote characters.

Also available in: Atom PDF