I don't understand the behavior of print and puts? I know print would not make a new line but puts can. but why the output of print will change from symbol to string when using puts instead of print?
`$ ruby -e 'print Kernel.private_instance_methods(false)'
[:initialize_copy, :remove_instance_variable, :sprintf, :format, :Integer, :Float, :String, :Array, :warn, :raise, :fail, :global_variables, :__method__, :__callee__, :eval, :local_variables, :iterator?, :block_given?, :catch, :throw, :loop, :caller, :trace_var`
$ ruby -e 'puts Kernel.private_instance_methods(false)'
initialize_copy
remove_instance_variable
sprintf
format
Integer
Float
String
Array
warn
raise
fail
global_variables
__method__
__callee__
eval
local_variables