I was browsing the web and I noticed Ruby code that utilises a String instance method called chars. Until today, I’d never used nor heard of String#chars. What does it do?

String#chars is used to return an array of characters within a string.

name = 'Ali'
name.chars
=> ["A", "l", "i"]

Do note that it does not work similarly to String#split, although we can achieve the same result.

name = "Ali"
name.split('')
=> ["A", "l", "i"]

So how are String#chars and String#split different to each other?

String#split uses a regular expression to divide characters within a string, thus returning an array.

String#chars parses the byte of each character within a string and then it returns an array.

Cheers for reading! 🤓