use builtin methods

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3359 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2003-01-19 17:15:00 +00:00
parent e83f415139
commit 81768d1da5
1 changed files with 9 additions and 30 deletions

View File

@ -1,33 +1,12 @@
def uniq(data)
last=nil
data.delete_if do |name|
if last == name
TRUE
else
last = name
FALSE
end
data = []
IO.foreach("|/usr/ccs/bin/nm -p #{ARGV[0]}") do |line|
line = line.split
case line[1]
when "B", "D"
data << line[0]
end
end
def extract(nm, out)
data = nm.readlines.collect{|line|
line = line.split
case line[1]
when "B", "D"
line[0]
else
next
end
}.compact!.sort!
uniq(data)
exp = open(out, "w")
exp.printf "#!\n"
for line in data
exp.printf "%s\n", line
end
exp.close
nm.close
end
extract(open("|/usr/ccs/bin/nm -p ../libruby.a"), "../ruby.imp")
data.uniq!
data.sort!
open(ARGV[1], "w") {|exp| exp.puts "#!", data}