为什么sprintf
不输出函数,但puts
会?
irb(main):001:0> 3.times {|i| sprintf("%s", i.to_s)}
=> 3
irb(main):002:0> 3.times {|i| puts i}
0
1
2
=> 3
documentation for puts
说这是stdout。为什么sprintf
也不会去stdout?
使用Ruby 2.5.0。
sprintf
返回格式化的字符串,而不是在任何地方打印。查看http://ruby-doc.org/core/Kernel.html#method-i-sprintf的文档。
您可能正在寻找printf
。