当前位置:  开发笔记 > 编程语言 > 正文

如何将STDIN内容转换为数组?

如何解决《如何将STDIN内容转换为数组?》经验,为你挑选了1个好方法。

我有一个文件INPUT,其中包含以下内容:

123\n
456\n
789

我想像这样运行我的脚本:script.rb

myArray = STDIN.to_s
myArray.split(/\n/)
puts field.size

我期待这打印3,但我得到15.我真的很困惑.有什么指针吗?



1> womble..:

你要

myArray = $stdin.readlines

这将把所有$ stdin放入一个数组中,每行输入一个数组条目.

请注意,使用大量输入文件这是非常低效(内存方面),所以你最好使用类似的东西:

$stdin.each_line do |l|
  ...
end

代替

a = $stdin.readlines
a.each do |l|
  ...
end

因为前者不为前期的所有事物分配内存.尝试以第二种方式处理数GB的日志文件,以了解系统的交换性能有多好......

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有