我是ruby的新手,并编写了一个程序,它接受几行数据(实际上是一个JSON)并将其转换为命令行中的表。使用程序中嵌入的JSON数据一切正常,但我想让它提示用户将数据粘贴到命令行中。我知道gets
和chomp
,但由于JSON格式化为多行/回车,因此当我粘贴在命令行中时,它将每行作为单独的条目。我觉得答案很简单,但我很难在线查找信息。我只想让它一次性粘贴所有内容并忽略所有回车。
有什么建议吗?
答案 0 :(得分:0)
如果您通过控制台获取输入,$stdin
的技术说法,并且您希望接收多个独立的多线对象,则需要使用某种分隔符。
这可以像每个JSON对象之间的一个或多个空行一样简单,也可以是END
或--
之类的标记。
这取决于您的JSON数据的格式,因为JSON对象中的空行是有效的,但大多数JSON生成器通常不会发出这些空格行。
不要忘记UNIX模型强烈建议您能够执行以下操作:
processor < input.json
或类似的事情:
processor *.json
您可以通过ARGV
接收多个文件并按顺序处理这些文件。这避免了很多这样的混乱。