puts, print and p
| puts adds newline | |
| print does not | |
| p shows inspect | |
| printf basics |
puts adds newline
The puts method writes each argument on its own line by adding a newline automatically.
The classic
printing
primer shows the same call, and here is how it behaves with an array.
puts "one"
puts "two"
puts [1, 2]
ruby puts_demo.rb
one
two
1
2
print does not
The print method writes exactly what it receives, with no newline added.
Join fragments with print and add the newline yourself when the line is complete.
print "one, "
print "two"
print "\n"
ruby print_demo.rb
one, two
p shows inspect
The p method writes the inspect form, which reveals the type behind the value.
Quotes around one mean a string and brackets mean an array, so the structure stays visible.
p "one"
p [1, "two"]
p({ name: "Ada" })
ruby p_demo.rb
"one"
[1, "two"]
{:name=>"Ada"}
printf basics
The printf method formats values into a template with placeholders for strings and numbers.
Minus ten in %-10s pads the name to ten columns, and zero four in %04d pads the number with zeros.
printf("%-10s %04d\n", "Ada", 42)
ruby printf_demo.rb
Ada 0042
Next: Metaprogramming
Article author: Arthur Isaev