DEV Community

Cover image for Fun Ruby tricks I learned in codewars
Ashley
Ashley

Posted on

5 3

Fun Ruby tricks I learned in codewars

I have been playing around with codewars a lot lately. (www.codewars.com) I like working with code challenges they are pretty fun. One thing that is great about playing with codewars is that I got to use a lot of tools and methods I would have never else thought of for example

delete

This comes in handy for challenges that ask you to remove a series of elements from a string.
For example, if you need to remove some vowels from a string

 my_string = "This is such a wonderful method"
 my_string.delete("aeiou") 

 => Ths s sch  wndrfl mthd
Enter fullscreen mode Exit fullscreen mode

This is much easier than using gsub!

to_str(base)

So most everyone knows how to_s works, you are converting a non string object to a string representation of that object. But one thing a lot of people forget is that you can pass in an argument to to_s when its placed on a Fixnum. This argument represents a numerical base which by default is 10. Therefore, this method can be used to convert numbers to different bases

  35.to_s(2)

  => "100011"
Enter fullscreen mode Exit fullscreen mode

partition

This is a great way to split up some data. It accepts a block and creates 2 arrays. For the elements that are true, they are first array, while the rest are placed in the second array. Imagine we have a problem where we need to seperate some evens and odds

  my_array = [1,2,3,4,5,6]
    my_array.partition{|i| i.even?}

    => [[2, 4, 6], [1, 3, 5]] 
Enter fullscreen mode Exit fullscreen mode

even? odd?

Which reminds me, I have a tendency to forget about these ruby methods. They work just as you expect. The question mark signify's this method returns some sort of boolean.

  4.even?
  => true

    4.odd?
    => false
Enter fullscreen mode Exit fullscreen mode

Its a shame how often I resort to modulo to check for evens and odds knowing this exists

chars

chars will split a string into an array of chars

 "This is my string".chars
 => ["T", "h", "i", "s", " ", "i", "s", " ", "m", "y", " ", "s", "t", "r", "i", "n", "g"] 
Enter fullscreen mode Exit fullscreen mode

of course split('') would do the same, but I like this better

Code challenges are super fun, and its great to learn new tricks. I recomment trying codwars sometime or even hacker rank or leetcode. I think Im going to go do some SQL challenges now!

AWS Security LIVE! Stream

Go beyond the firewall

There's more to security than code. Explore solutions, strategies, and the full story on AWS Security LIVE!

Learn More

Top comments (0)

Image of Stellar post

Check out Episode 1: How a Hackathon Project Became a Web3 Startup 🚀

Ever wondered what it takes to build a web3 startup from scratch? In the Stellar Dev Diaries series, we follow the journey of a team of developers building on the Stellar Network as they go from hackathon win to getting funded and launching on mainnet.

Read more

👋 Kindness is contagious

Dive into this insightful write-up, celebrated within the collaborative DEV Community. Developers at any stage are invited to contribute and elevate our shared skills.

A simple "thank you" can boost someone’s spirits—leave your kudos in the comments!

On DEV, exchanging ideas fuels progress and deepens our connections. If this post helped you, a brief note of thanks goes a long way.

Okay