[ruby-core:118970] [Ruby master Feature#20703] Alias StringIO#string to StringIO#to_s

Issue #20703 has been reported by sebyx07 (Sebastian Buza). ---------------------------------------- Feature #20703: Alias StringIO#string to StringIO#to_s https://bugs.ruby-lang.org/issues/20703 * Author: sebyx07 (Sebastian Buza) * Status: Open ---------------------------------------- # Description Allow to use `StringIO.new('my string').to_s` to be the same as `StringIO.new('my string').string` IMO nobody really uses the current StringIO#to_s, so I don't think it will break other apps. That way you can also do interpolation easily ```ruby my_sio = StringIO.new('my string') puts "value: #{my_sio}" # value: my string ``` - issue: https://github.com/ruby/stringio/issues - pr: https://github.com/ruby/stringio/pull/103 -- https://bugs.ruby-lang.org/

Issue #20703 has been updated by Dan0042 (Daniel DeLorme). +1 Might also consider adding #to_str, as I think it makes sense to consider StringIO to be a kind of string. ---------------------------------------- Feature #20703: Alias StringIO#string to StringIO#to_s https://bugs.ruby-lang.org/issues/20703#change-109544 * Author: sebyx07 (Sebastian Buza) * Status: Open ---------------------------------------- # Description Allow to use `StringIO.new('my string').to_s` to be the same as `StringIO.new('my string').string` IMO nobody really uses the current StringIO#to_s, so I don't think it will break other apps. That way you can also do interpolation easily ```ruby my_sio = StringIO.new('my string') # current puts "value: #{my_sio}" # value: #<StringIO:0x0000764bba88eec0> # after puts "value: #{my_sio}" # value: my string ``` - issue: https://github.com/ruby/stringio/issues/102 - pr: https://github.com/ruby/stringio/pull/103 -- https://bugs.ruby-lang.org/

Issue #20703 has been updated by sebyx07 (Sebastian Buza). @Dan0042 done, ty! ---------------------------------------- Feature #20703: Alias StringIO#string to StringIO#to_s https://bugs.ruby-lang.org/issues/20703#change-109549 * Author: sebyx07 (Sebastian Buza) * Status: Open ---------------------------------------- # Description Allow to use `StringIO.new('my string').to_s` to be the same as `StringIO.new('my string').string` IMO nobody really uses the current StringIO#to_s, so I don't think it will break other apps. That way you can also do interpolation easily ```ruby my_sio = StringIO.new('my string') # current puts "value: #{my_sio}" # value: #<StringIO:0x0000764bba88eec0> # after puts "value: #{my_sio}" # value: my string ``` - issue: https://github.com/ruby/stringio/issues/102 - pr: https://github.com/ruby/stringio/pull/103 -- https://bugs.ruby-lang.org/

Issue #20703 has been updated by nobu (Nobuyoshi Nakada). Status changed from Open to Rejected At this developers' meeting, no one was favor of this. IMO, `StringIO` is not a `String`-like object. ---------------------------------------- Feature #20703: Alias StringIO#string to StringIO#to_s/to_str https://bugs.ruby-lang.org/issues/20703#change-109637 * Author: sebyx07 (Sebastian Buza) * Status: Rejected ---------------------------------------- # Description Allow to use `StringIO.new('my string').to_s` to be the same as `StringIO.new('my string').string` IMO nobody really uses the current StringIO#to_s, so I don't think it will break other apps. * Also added .to_str That way you can also do interpolation easily ```ruby my_sio = StringIO.new('my string') # current puts "value: #{my_sio}" # value: #<StringIO:0x0000764bba88eec0> # after puts "value: #{my_sio}" # value: my string ``` - issue: https://github.com/ruby/stringio/issues/102 - pr: https://github.com/ruby/stringio/pull/103 -- https://bugs.ruby-lang.org/

Issue #20703 has been updated by matz (Yukihiro Matsumoto). Since `StringIO` is a IO-like object, not String-like object, so it should not provide `to_str`. And string body of a StringIO tends to be long, so simple alias of `string` to `to_s` does not always work well. So please use `string` method if you want string body from a StringIO. Matz. ---------------------------------------- Feature #20703: Alias StringIO#string to StringIO#to_s/to_str https://bugs.ruby-lang.org/issues/20703#change-109640 * Author: sebyx07 (Sebastian Buza) * Status: Rejected ---------------------------------------- # Description Allow to use `StringIO.new('my string').to_s` to be the same as `StringIO.new('my string').string` IMO nobody really uses the current StringIO#to_s, so I don't think it will break other apps. * Also added .to_str That way you can also do interpolation easily ```ruby my_sio = StringIO.new('my string') # current puts "value: #{my_sio}" # value: #<StringIO:0x0000764bba88eec0> # after puts "value: #{my_sio}" # value: my string ``` - issue: https://github.com/ruby/stringio/issues/102 - pr: https://github.com/ruby/stringio/pull/103 -- https://bugs.ruby-lang.org/
participants (4)
-
Dan0042 (Daniel DeLorme)
-
matz (Yukihiro Matsumoto)
-
nobu (Nobuyoshi Nakada)
-
sebyx07 (Sebastian Buza)