Skip to content

Instantly share code, notes, and snippets.

@g8d3
Created November 29, 2013 14:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save g8d3/7706228 to your computer and use it in GitHub Desktop.
Save g8d3/7706228 to your computer and use it in GitHub Desktop.
def reverse(str)
if str[0] and str[1]
str[-1] + reverse(str[0..-2])
else
str
end
end
def reverse_for(str)
s = ''
str.length.times do |i|
s[i] = str[str.length - 1 - i]
end
s
end
puts 'some string to reverse please:'
x = 'juan david'
def bm(times = 100)
start = Time.now
times.times do
yield
end
Time.now - start
end
puts "my reverse took #{ my = bm { reverse x} }"
puts "ruby reverse took #{ ruby_one = bm {x.reverse} }"
puts "reverse_for took #{ rev_f = bm {reverse_for x}}"
puts "\n"
puts "my / ruby = #{ my / ruby_one }"
puts "rev_f / ruby = #{ rev_f / ruby_one }"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment