6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
# File 'lib/benchm.rb', line 6
def self.ark(message = nil, repeat = @repeat)
if repeat.class == Float
raise ArgumentError, "No implicit conversion of Float to Integer."
end
if message.class == Fixnum
repeat = message
message = nil
elsif message.class != String && message
raise ArgumentError, "No implicit conversion of #{message.class} to String."
end
time_1 = Time.now
repeat.to_i.times do
yield
end
time_2 = Time.now
puts
print message.capitalize + ' ' if message
print 'Total: '
puts (time_2 - time_1).to_s + ' seconds'
print message.capitalize + ' ' if message
print 'Average: '
puts ((time_2 - time_1)/repeat.to_f).to_s + ' seconds'
puts
end
|