From: Suraj Kurapati Date: 2008-10-20T06:38:05+09:00 Subject: a new quotation operator to automatically unindent %q and %Q Hello everyone, Many times I have faced the situation of embedding multi-line strings in my programs while wanting to preserve the indentation of the surrounding code: module Foo class Bar def to_s %q{ This block of text will, unfortunately, contain the indentation of the surrounding code! Unless we manually remove it, as shown by the gsub() below: }.gsub(/^ /, '') end end end The same problem occurs for "here documents" as well. We are forced to manually remove the indentation. I would like to propose a new set of string quotation operators %s and %S which behave just like %q and %Q respectively, except that they are automatically unindented by the Ruby interpreter using the first line of non-whitespace text: amount_to_unindent = input_string[/\A(?:\r?\n)+([ \t]+)(?=\S)/, 1] input_string.gsub! /^#{amount_to_unindent}/, '' What do you think? Thanks for your consideration. -- Posted via http://www.ruby-forum.com/.