Feature #20703
closed
Alias StringIO#string to StringIO#to_s/to_str
Added by sebyx07 (Sebastian Buza) 3 months ago.
Updated 3 months ago.
Description
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
my_sio = StringIO.new('my string')
# current
puts "value: #{my_sio}" # value: #<StringIO:0x0000764bba88eec0>
# after
puts "value: #{my_sio}" # value: my string
- Description updated (diff)
- Description updated (diff)
+1
Might also consider adding #to_str, as I think it makes sense to consider StringIO to be a kind of string.
- Subject changed from Alias StringIO#string to StringIO#to_s to Alias StringIO#string to StringIO#to_s/to_str
- Description updated (diff)
- Status changed from Open to Rejected
At this developers' meeting, no one was favor of this.
IMO, StringIO
is not a String
-like object.
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.
Also available in: Atom
PDF
Like1
Like0Like0Like0Like0Like0Like0Like0