From: matthew@... Date: 2018-03-04T04:49:11+00:00 Subject: [ruby-core:85916] [Ruby trunk Feature#14574] percent literals and binary encoding strings Issue #14574 has been updated by phluid61 (Matthew Kerwin). I think runtime-customisable percent-literal strings are a bit of a hard ask, since things like %w, %r, %x are so tightly integrated with the parser itself. Even the question of when to stop consuming (nested brackets? escape characters?) means there will be messy and confusing edge-cases. I'm not against the idea *per se*, I just think it's not workable in the Ruby we have today. ---------------------------------------- Feature #14574: percent literals and binary encoding strings https://bugs.ruby-lang.org/issues/14574#change-70772 * Author: pb (pumbur _) * Status: Open * Priority: Normal * Assignee: * Target version: ---------------------------------------- coding `"\x00".force_encoding('binary')` or `["\x00"].pack('a*')` is a hassle, is there a chance to have special percent literal for it? i.e: `%b"\x00"` would return binary string. (note, signle-character \x00 there is accidental, the idea is force any string from script encoding to binary) or, more general suggestion: allow percent literal with any [a-z] character, move all logic to user-level and allow it to be redefinable: ~~~ ruby define_percent_literal(:b){|q| q.force_encoding('binary') } %b'\x00' #=> "\x00" ~~~ -- https://bugs.ruby-lang.org/ Unsubscribe: