ruby03

来源:互联网 发布:颈椎牵引 知乎 编辑:程序博客网 时间:2024/06/06 07:35

从命令行输入的数据

ruby print.rb 1 2 3 #后边跟着三个参数
可以在ruby代码中进行使用,通过ARGV数组
print ARGV[0],ARGV[1],ARGV[2]
通过命令行取得的数据是字符串,如果用来计算的话需要将其转换成数值,必须使用to_i方法

读取文件

filename = “./1.txt”
file = open(filename)#会打开名为filenaem的文件 ,并返回读取文件的对象
text = file.read#从文件读入数据,并存入text
print text
file.close
上边的这种方式输入直接把文件所有的行都读取出来,如果遇到特别大的文件的时候,瞬间把所有数据都读出来的话,需要花费很长的时间,所以以下这种方式对问题进行了解决,采用了逐行读取的方式
file = open(filename)
while text = file.gets do
print text
end
file.close
gets方法每次都会从文件中读取一行出来,知道读到文章的末尾,会返回nil,所以如果还有数据可以读入就为真

只显示文件里符合特定样式的几行

利用正则表达式
pattern = Regexp.new(“ruby”)#建立正则表达式对象
filename = 文件名
file = open(filename)
while text = file.gets do
if pattern =~ text #依次检测每一行是否符合
print text
end
end
file.close

原创粉丝点击