From: shyouhei@... Date: 2016-12-19T01:26:48+00:00 Subject: [ruby-core:78724] [Ruby trunk Feature#13047] Use String literal instead of `String#+` for multiline pretty-printing of multiline strings Issue #13047 has been updated by Shyouhei Urabe. Fumiaki Matsushima wrote: > Non-broken String will be: > > ~~~ ruby > > pp "bundler.rb"=> "module Bundler\nend\n" > {"bundler.rb"=> "module Bundler\n" "end\n"} > ~~~ > > How do you think? There are debates on this "strng" "concatenation" notation. https://bugs.ruby-lang.org/issues/6265 It is questionable if we still prefer this way. > I tried to write patch but I can't find a way to append "\" to broken line only by current PP's API. No, I heard there is currently no way to change formats between one / multi -lined outputs. You have to extend PP itself. ---------------------------------------- Feature #13047: Use String literal instead of `String#+` for multiline pretty-printing of multiline strings https://bugs.ruby-lang.org/issues/13047#change-62095 * Author: Fumiaki Matsushima * Status: Open * Priority: Normal * Assignee: * Target version: ---------------------------------------- Multiline pretty-printing of multiline strings is introduced. (https://bugs.ruby-lang.org/issues/12664) ~~~ ruby > pp "bundler.rb"=> "module Bundler\n BundlerError = Class.new(Exception)\n def self.setup\n end\nend\n" {"bundler.rb"=> "module Bundler\n" + " BundlerError = Class.new(Exception)\n" + " def self.setup\n" + " end\n" + "end\n"} ~~~ It is awesome but we can use String literal instead of `String#+`: ~~~ ruby > pp "bundler.rb"=> "module Bundler\n BundlerError = Class.new(Exception)\n def self.setup\n end\nend\n" {"bundler.rb"=> "module Bundler\n" \ " BundlerError = Class.new(Exception)\n" \ " def self.setup\n" \ " end\n" \ "end\n"} ~~~ It seems that `pp` want to output evaluable snippet but we can override `String#+` so it may not work well. Non-broken String will be: ~~~ ruby > pp "bundler.rb"=> "module Bundler\nend\n" {"bundler.rb"=> "module Bundler\n" "end\n"} ~~~ How do you think? ------------- I tried to write patch but I can't find a way to append "\" to broken line only by current PP's API. -- https://bugs.ruby-lang.org/ Unsubscribe: