How can I get the first character in a string using Ruby?
Ultimately what I'm doing is taking someone's last name and just creating an initial out of it.
So if the string was "Smith" I just want "S".
You can use Ruby's open classes to make your code much more readable. For instance, this:
class String def initial self[0,1] end end
will allow you to use the
initial method on any string. So if you have the following variables:
last_name = "Smith" first_name = "John"
Then you can get the initials very cleanly and readably:
puts first_name.initial # prints J puts last_name.initial # prints S
The other method mentioned here doesn't work on Ruby 1.8 (not that you should be using 1.8 anymore anyway!--but when this answer was posted it was still quite common):
puts 'Smith' # prints 83
Of course, if you're not doing it on a regular basis, then defining the method might be overkill, and you could just do it directly: