詳細(xì)解讀Ruby輸出文件信息實(shí)現(xiàn)方式
作者:佚名
Ruby輸出文件信息的結(jié)果是不相同的,這是因?yàn)?,?shù)據(jù)都是隨機(jī)的,導(dǎo)致每次記錄的數(shù)據(jù)都會(huì)不同。在實(shí)際應(yīng)用中要注意這點(diǎn)。
Ruby語(yǔ)言的用途比較廣泛,可以輕松靈活的幫助我們實(shí)現(xiàn)許多功能需求。編程人員可以很容易熟悉這項(xiàng)語(yǔ)言的應(yīng)用。在這篇文章中,我們?yōu)榇蠹規(guī)?lái)了Ruby輸出文件信息的一些技巧應(yīng)用。#t#
數(shù)據(jù)是隨機(jī)的,所以每次的記錄都會(huì)不同。
Ruby輸出文件信息代碼示例:
- #!/usr/bin/env ruby
- COUNT = 10
- require 'benchmark'
- $account_chars = ('A'..'Z').
to_a.delete_if {|c| c =~ /[AEIOUY]/ } - #$password_chars = ('0'..'9').to_a
- $password_chars = Array.new
- $password_chars[0..9] = ('0'..'9').to_a
- $password_chars[10..36] = ('A'..'Z').to_a
- def account_char
- $account_chars[rand($account_chars.length)]
- end
- def password_char
- $password_chars[rand($password_chars.length)]
- end
- def account_chars
- account_chars = []
- 6.times {|c| account_chars
<< account_char } - account_chars
- end
- def password
- begin
- begin
- password = ''
- password << password_char
- end while password == '0'
- 4.times { password << password_char }
- end while password =~ /^(.)1111$/
- password
- end
- accounts = {}
- lines = []
- puts Benchmark::CAPTION
- puts Benchmark.measure {
- COUNT.times do
- i = 0
- account_chars.inject(accounts) do |a, c|
- i += 1
- i == 6 ? a[c] = password : a[c] ||= {}
- end
- end
- }
- puts Benchmark.measure {
- accounts.each do |char, chars|
- account = [char]
- chars.each do |char, chars|
- account << char
- chars.each do |char, chars|
- account << char
- chars.each do |char, chars|
- account << char
- chars.each do |char, chars|
- account << char
- chars.each do |char, password|
- account << char
- lines << "#{account.join}t#
{password}rn" - account.pop
- end
- account.pop
- end
- account.pop
- end
- account.pop
- end
- account.pop
- end
- end
- }
- puts Benchmark.measure {
- open 'account.txt', 'wb' do |f|
- f.print lines.delete_at(rand(lines.length))
until lines.empty? - end
- }
運(yùn)行后輸出到: account.txt文件中。
Ruby輸出文件信息格式如下:
- SZQGMC XC6KP
- HLVGTZ HCU30
- KTSNNF LSNVS
- KWMHRQ 3SM07
- BTTZCZ DYMUH
- DMKPVN GMJHL
- KCFKDR X8X8V
- VMMJHB X1D65
- SRCPGZ T2IP6
- WLRMBT 7YA2Y
責(zé)任編輯:曹凱
來(lái)源:
ddvip.com