打印

ruby计数器

ruby计数器

五行代码编写一个基于文本的ruby计数器.
复制内容到剪贴板
代码:
file="count.txt"
i=open(file){|f|f.read}.to_i rescue 0
i+=1
print i
open(file,"w"){|f|f.write(i)}
axgle说明:文件里读取出来的数据类型是字符串,to_i表示把字符串转化为数字,这样后面才能做加法运算(可见ruby是强类型语言)
如果file文件不存在(异常),则rescue 0,表示i默认为0(rescue能够抑制异常的出现).递增显示后,重新写入file文件,完毕。

[ 本帖最后由 axgle 于 2007-1-3 10:23 编辑 ]

TOP

这一个计数器是将数字存储在文本文件中,如果并发比较大,会不会有瓶颈问题?

另外,多线程呢?会有问题吧

TOP

引用:
原帖由 wes109 于 2007-1-3 19:21 发表
这一个计数器是将数字存储在文本文件中,如果并发比较大,会不会有瓶颈问题?
没有实际测试过。这里只是为了演示ruby对文件的一些使用方法,实际应用中“计数器”一般都用数据库吧,这样就不必过多考虑瓶颈问题。

TOP

感觉跟perl很像啊,呵呵!

今天把论坛翻个天!

TOP

动态语言=直截了当+ 快乐编程。。。。。哈哈
First they ignore you, then they laugh at you, then they fight you, then you win.

TOP

其实可以少一行,呵呵~

file='count.txt'
i=File.new(file).read.to_i rescue 0
p i
File.new(file,'w').puts "#{i+1}"

TOP