Skip to content

Instantly share code, notes, and snippets.

@san9dev
Created November 21, 2018 00:12
Show Gist options
  • Save san9dev/02a7e9f68f4de220324bf6c0bf6089dd to your computer and use it in GitHub Desktop.
Save san9dev/02a7e9f68f4de220324bf6c0bf6089dd to your computer and use it in GitHub Desktop.
# variants reverse string in ruby
# first variant
s = "string".split(//)
sl = s.size - 1
for i in s
print s[sl]
sl -= 1
end
# second (primary)
s = "string"
middle_i = s.length / 2 - 1
(0..middle_i).each { |i| s[i], s[-i-1] = s[-i-1], s[i] }
# third (only numbers)
s = [1, 2, 3, 7, 8, 9]
middle_i = s.length / 2 - 1
(0..middle_i).each do |i|
s[i] = s[-i-1] ^ s[i]
s[-i-1] = s[-i-1] ^ s[i]
s[i] = s[-i-1] ^ s[i]
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment