我有以下脚本:标准输入不起作用红宝石
$stdin.each_line do |data|
blocks = data.scan(/\+[^+]+\+/)
blocks.reject! { |b| b.include? "AAAAAAAAA" }
p blocks
end
该脚本将删除的那串在一个标准输入文件。我有两个问题:
- stdin似乎没有工作,它输出
[]
。 - 我该如何修改脚本,说拒绝长度为20或以上的单个字母的延伸段,因此如果有20个或更多A的延伸段,请删除该块。
你如何发送输入?你还可以添加你想要的测试输入/输出吗? – Dogbert 2011-04-13 10:45:48
你是什么意思的“它不工作”?如果我执行脚本并输入+ AAAAA ++ BBBBB ++ AAAAAAAAAAAAAAAAAAAAAAAAA +我会得到 [“+ AAAAA +”,“+ BBBBB +”]。 – 2011-04-13 10:47:49
我认为你的正则表达式不是你正在寻找的。 – 2011-04-13 10:52:57