详细解读Ruby输出文件信息实现方式

开发 开发工具
Ruby输出文件信息的结果是不相同的,这是因为,数据都是随机的,导致每次记录的数据都会不同。在实际应用中要注意这点。

Ruby语言的用途比较广泛,可以轻松灵活的帮助我们实现许多功能需求。编程人员可以很容易熟悉这项语言的应用。在这篇文章中,我们为大家带来了Ruby输出文件信息的一些技巧应用。#t#

数据是随机的,所以每次的记录都会不同。

Ruby输出文件信息代码示例:

 

  1. #!/usr/bin/env ruby  
  2. COUNT = 10 
  3. require 'benchmark'  
  4. $account_chars = ('A'..'Z').
    to_a.delete_if {|c| 
    c =~ /[AEIOUY]/ }  
  5. #$password_chars = ('0'..'9').to_a  
  6. $password_chars = Array.new  
  7. $password_chars[0..9] = ('0'..'9').to_a  
  8. $password_chars[10..36] = ('A'..'Z').to_a  
  9. def account_char  
  10. $account_chars[rand($account_chars.length)]  
  11. end  
  12. def password_char  
  13. $password_chars[rand($password_chars.length)]  
  14. end  
  15. def account_chars  
  16. account_chars = []  
  17. 6.times {|c| account_chars 
    << account_char }  
  18. account_chars  
  19. end  
  20. def password  
  21. begin  
  22. begin  
  23. password = '' 
  24. password << password_char 
  25. end while password == '0'  
  26. 4.times { password << password_char }  
  27. end while password =~ /^(.)1111$/  
  28. password  
  29. end  
  30. accounts = {}  
  31. lines = []  
  32. puts Benchmark::CAPTION  
  33. puts Benchmark.measure {  
  34. COUNT.times do  
  35. i = 0 
  36. account_chars.inject(accounts) do |a, c|  
  37. i += 1  
  38. i == 6 ? a[c] = password : a[c] ||= {}  
  39. end  
  40. end  
  41. }  
  42. puts Benchmark.measure {  
  43. accounts.each do |char, chars|  
  44. account = [char]  
  45. chars.each do |char, chars|  
  46. account << char 
  47. chars.each do |char, chars|  
  48. account << char 
  49. chars.each do |char, chars|  
  50. account << char 
  51. chars.each do |char, chars|  
  52. account << char 
  53. chars.each do |char, password|  
  54. account << char 
  55. lines << "#{account.join}t#
    {password}rn"  
  56. account.pop  
  57. end  
  58. account.pop  
  59. end  
  60. account.pop  
  61. end  
  62. account.pop  
  63. end  
  64. account.pop  
  65. end  
  66. end  
  67. }  
  68. puts Benchmark.measure {  
  69. open 'account.txt', 'wb' do |f|  
  70. f.print lines.delete_at(rand(lines.length))
     until lines.empty?  
  71. end  

 

运行后输出到: account.txt文件中。

Ruby输出文件信息格式如下:

 

  1. SZQGMC XC6KP  
  2. HLVGTZ HCU30  
  3. KTSNNF LSNVS  
  4. KWMHRQ 3SM07  
  5. BTTZCZ DYMUH  
  6. DMKPVN GMJHL  
  7. KCFKDR X8X8V  
  8. VMMJHB X1D65  
  9. SRCPGZ T2IP6  
  10. WLRMBT 7YA2Y  
责任编辑:曹凯 来源: ddvip.com
相关推荐

2009-12-16 14:33:21

Ruby哈希表

2009-12-16 16:51:05

Ruby on Rai

2010-03-05 09:33:05

Python实现tab

2009-12-15 14:16:13

Ruby Contin

2009-12-15 15:35:56

Ruby symbol

2009-12-18 09:27:23

Ruby读写excel

2009-12-14 18:14:27

Ruby DSL

2009-12-18 15:11:05

Ruby输出二维数组

2009-12-14 13:06:08

Ruby数字类型

2009-12-02 16:31:54

PHP发送邮件

2010-09-25 14:39:29

Bruce Tate

2009-12-15 10:10:42

Ruby过程对象

2012-07-20 14:40:22

2012-06-27 15:33:30

Java排序算法

2010-01-11 11:02:27

VB.NET调用存储过

2009-12-15 18:39:36

Ruby Active

2010-01-07 17:51:36

VB.NET实现Sin

2009-06-17 10:08:32

Ruby on Rai安装Ruby

2009-12-15 10:48:54

Ruby局部变量

2009-12-14 17:04:13

Ruby读写UNIX命
点赞
收藏

51CTO技术栈公众号