慢,不过也怪不了它的,看看我写的代码:
require
pathname
q = Pathname.new(
c:/temp/www.surnamedb.com
)
aFile = File.new(
C:/1.txt
,
w
)
for i in 42..1000
n = q.children[i]
s = String(n)
m = s.gsub(/[\s\S]*name=/,
)
p = m.gsub(/.htm/,
)
p = p.gsub(/\
/,
\\\\\
)
a = n.read
b = a.gsub(/[\s\S]*class=\
SurnameHistory\
/,
)
c = b.gsub(/
[\s\S]*/,
)
c = c.gsub(/\
/,
\\\\\
)
c = c.gsub(/\
/,
\\\\\
)
aFile.puts
insert into surname (name, desc) values (\
aFile.puts p
aFile.puts
\
, \
aFile.puts c
aFile.puts
\
);
end
aFile.close
测试了一下,其中要操作的文件中平均每个文件大概是20K左右,做一个read,做两次的大的正则表达式操作,然后写文件,文件名处理消耗应该不大。
然后这么1K个文件居然花了将近20分钟的时间,难道时间都用在list上去了?
要再测测具体时间开销才行,这么慢,六万多个文件岂不跑一整天
另外说说,之前一行ruby没写过,语法都是google一半猜一半的