My understanding of the print()
in both Python and Ruby (and other languages) is that it is a method on a string (or other types). Because it is so commonly used the syntax:
print "hi"
works.
So why doesn't "hi".print()
in Python or "hi".print
in Ruby work?
When you do something like "hi".print()
, you are implying that the string object "hi"
has a method print
. This is not the case. Instead, print
is a function that takes a string (or other types) as input.
Ruby does have a method Object#display
(doc here), which sends a representation of the object to the current output stream, or one specified as an argument.
(I find that it's hard to work with in irb if I use ;
at the end of a line to suppress the printing of the return value; if I do that, display
's output isn't shown, even if I flush the stream.)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With