假设我有一个字符串very_long_string,我想将其内容发送到标准输出.但由于字符串很长,我想用来less在终端上显示文本.我用的时候
`less #{very_long_string}`
Run Code Online (Sandbox Code Playgroud)
我收到File not found错误消息,如果我使用:
`less <<< #{very_long_string}`
Run Code Online (Sandbox Code Playgroud)
我收到unexpected redirection错误消息.
那么,如何less从Ruby内部使用?
use*_*434 17
你可以打开一个管道,通过它的stdin将你的字符串输入到less.
IO.popen("less", "w") { |f| f.puts very_long_string }
Run Code Online (Sandbox Code Playgroud)
(假设very_long_string是保存字符串的变量.)
请参阅:http://www.ruby-doc.org/core-1.8.7/IO.html#method-c-popen