我在远程设备上有一个与此类似的文本文件:
D0-23-DB-31-04-3E%20192.168.4.42%20dnat
68-A8-6D-0C-38-B2%20192.168.4.40%20dnat
我创建了一个小的 Ruby 脚本来将其转换为字符串并将其发布到我的 Rails 应用程序:
def chilli_list
hash = File.open("/tmp/client_list", "rb").read
return hash
end
然后输出如下所示:
"D0-23-DB-31-04-3E%20192.168.4.42%20dnat\n68-A8-6D-0C-38-B2%20192.168.4.40%20dnat\n"
我需要一点一点地提取信息并显示在视图中。到目前为止,我还没有走多远。我尝试了以下是可以的:
str = "D0-23-DB-31-04-3E%20192.168.4.42%20dnat\n68-A8-6D-0C-38-B2%20192.168.4.40%20dpass\n"
str.each_line do |line|
puts line.split(" ").first
puts line.split(" ").second
end
这是最好的方法还是有更好的方法?
最后也是最重要的一点,我还需要对字符串进行一些计算。我可以用 来计算行数str.lines.count
,但我需要的是计算上== nat
例中第三个值所在的行数。
我该怎么办?