March 2009
Intermediate to advanced
194 pages
4h
English
How you could do it:
def profile block_description, &block |
# To turn profiling on/off, set this |
# to true/false. |
profiling_on = false |
if profiling_on |
start_time = Time.new |
block.call |
duration = Time.new - start_time |
puts "#{block_description}: #{duration} seconds" |
else |
block.call |
end |
end |
How I would do it:
$OPT_PROFILING_ON = false |
def profile block_description, &block |
if $OPT_PROFILING_ON |
start_time = Time.new |
block[] |
duration = Time.new - start_time |
puts "#{block_description}: #{duration} seconds" |
else |
block[] |
end |
end |
How you could do it:
def grandfather_clock &block |
hour = Time.new.hour |
if hour >= 13 |
hour = hour - 12 |
end |
if hour == 0 |