[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Needing a little help with a ruby program

spudicus87

10/11/2008 6:51:00 PM

Ok, so this is what I need to do for the program. I am not the best
programmer in the world and I need a little help.

Assignment:

Create a program that obtains disk usage information from du and uses
it to print a histogram of the disk usage of the directories given as
command line arguments. The histogram should consist of a string with
one hash mark per megabyte of disk usage.



This is what I have so far.


require 'fileutils'

specified_directory = Dir.new("#{ARGV[0]}")

disk_usage_info = `du #{specified_directory} -a`

file_size = Hash.new(0)


disk_usage_file.each_line do |file, size|
#Builds the hash with the filename and the sizes

end

file_size.each do|file, size|
#changes value to histogram of numbers and shows results

size = '#' * size / 1024

if times < 0
puts file +"\t | " + size

else
puts file

end

end


I think I have the first part and the last part down pretty well, I am
stuck on how to get the du output into the hash so I can output it
correctly. Any help would be appreciated.

Thanks,

Spudicus87
1 Answer

Trans

10/11/2008 6:59:00 PM

0



On Oct 11, 2:52=A0pm, spudicu...@gmail.com wrote:
> Ok, so this is what I need to do for the program. I am not the best
> programmer in the world and I need a little help.
>
> Assignment:
>
> Create a program that obtains disk usage information from du and uses
> it to print a histogram of the disk usage of the directories given as
> command line arguments. The histogram should consist of a string with
> one hash mark per megabyte of disk usage.
>
> This is what I have so far.
>
> require 'fileutils'
>
> specified_directory =3D Dir.new("#{ARGV[0]}")
>
> disk_usage_info =3D `du #{specified_directory} -a`
>
> file_size =3D Hash.new(0)
>
> disk_usage_file.each_line do |file, size|
> =A0 #Builds the hash with the filename and the sizes
>
> end
>
> file_size.each do|file, size|
> =A0 =A0 =A0 =A0 #changes value to histogram of numbers and shows results
>
> =A0 =A0 =A0 =A0 size =3D '#' * size / 1024
>
> =A0 =A0 =A0 =A0 if times < 0
> =A0 =A0 =A0 =A0 =A0 puts file +"\t | " + size
>
> =A0 =A0 =A0 =A0 else
> =A0 =A0 =A0 =A0 =A0 puts file
>
> =A0 =A0 =A0 end
>
> =A0 =A0 end
>
> I think I have the first part and the last part down pretty well, I am
> stuck on how to get the du output into the hash so I can output it
> correctly. Any help would be appreciated.

Study Regexp.

T.