迅速掌握Ruby文件行数计算技巧

开发 开发工具
Ruby文件行数计算对于一个初学者来说还是比较难以掌握的,在下面这篇文章中,我们将会学到一些关于Ruby文件行数计算的相关技巧。

对于Ruby的理解,我们需要不断的从实际代码编写中去总结经验,提升我们对这项语言的理解程度。在这里我们就为大家介绍一种技巧,关于Ruby文件行数计算的相关技巧。#t#

 

代码核心在于获取某文件行数 以及 某文件夹下所有文件的遍历,前者好像找不到什么好的API,我使用的是遍历的方法。后者有很多重方法,就用简单点的Find了,下次尝试用Tree的形式并生成xml

 

PS 本来想弄个后缀过滤,后来发现linux下许多文件都没有后缀的~~~不管了。

Ruby文件行数计算代码示例:

  1. module Enumerable   
  2. # function to get total lines for file   
  3. def total_lines   
  4. lines = 0   
  5. each_with_index {|content,lines|}   
  6. return lines+1   
  7. end   
  8. end   
  9. class CheckLines   
  10. require 'find'   
  11. @check_type = %w{txt rb erb yml html css xml}   
  12. def initialize(directory)   
  13. @total_lines = 0   
  14. if File.directory?(directory)   
  15. @directorydirectory = directory   
  16. @contents = {}   
  17. self.go   
  18. else puts "#{directory} is not a directory! check it out!" and return   
  19. end   
  20. end   
  21. def go   
  22. if @directory   
  23. Find.find @directory do |path|   
  24. pathpathlite = path.gsub(@directory,'')   
  25. if File.file? path   
  26. File.open path do |f|   
  27. tmp_line = f.total_lines   
  28. @contents.store(pathlite,tmp_line)   
  29. @total_lines += tmp_line   
  30. end   
  31. end   
  32. end   
  33. puts @total_lines   
  34. end   
  35. end   
  36. def details   
  37. @contents.each do |key,value|   
  38. puts "#{key} file has lines of #{value}"   
  39. end   
  40. end   
  41. end  

以上就是Ruby文件行数计算的使用技巧介绍。希望对大家有所帮助。

责任编辑:曹凯 来源: javaeye.com
相关推荐

2009-12-18 14:19:45

Ruby on Rai

2009-12-16 10:57:16

Ruby文件锁

2009-12-14 15:54:34

Ruby转义字符

2009-12-14 17:23:31

2009-12-14 18:23:38

Ruby DSL测试

2009-12-04 14:23:33

PHP JSON加密函

2009-12-17 14:36:57

Ruby on Rai

2009-12-16 17:31:30

Ruby on Rai

2009-12-16 10:10:16

Ruby打开关闭文件

2009-12-16 11:04:51

Ruby操作文件权限

2010-01-07 11:07:20

VB.NET读取INI

2009-12-10 14:18:22

PHP导出Word文档

2009-12-15 10:23:23

Ruby应用技巧

2009-12-14 09:33:04

Ruby安装

2010-01-12 10:19:02

VB.NET操作GDI

2010-01-11 14:28:14

VB.NET操作Exc

2009-10-29 13:38:05

VB.NET Shar

2009-12-16 10:49:42

Ruby操作二进制文件

2009-12-09 17:56:27

PHP加密解密

2017-10-11 08:51:50

Ruby编程微服务架构边缘计算
点赞
收藏

51CTO技术栈公众号