正文

原来如此(ruby中的文件打开即写入)2007-04-04 16:18:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/daweizhao/24597.html

分享到:

require "File"

class File
  def File.open_and_process(*args)
    f=File.open(*args)
    yield f
    f.close()
  end
end

#path='D:\RUBY\myproject\temp'
File.open_and_process("temp.txt") do |file|
  while line = file.gets
    puts line
  end
end

 programming ruby(2nd) 中的打开文件的代码,正确。但是之前怎么着都是不对的。

后来试了一个语句:File.open("out.txt", "a") {|f| f.write("Hello")}在cmd下编译运行,通过。打开相应文件夹,已经生成了1KB的out文件,打开也已经写入了hello。可是为什么我的就不行呢?

后来两下对比,才知道:我的以temp文件命名的文件又自作主张地敲上了后缀.txt,这样的话整个文件名不是temp.txt,而是加上文本文件自身的后缀后变成temp.txt.txt,难怪找不到了。

可是,奇怪的是,为什么打印了两次?

注:打印两次是因为上面有一个require "File",而与定义类File中的一起执行文件打开操作。可是方法名又不相同,为什么要这样?还是有点不明白。

阅读(3343) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册