You can use indexing on a string, so don't need to use the split or join methods here. Additionally, ranges with 2 dots are inclusive, 3 dots are exclusive, so you could just add an extra dot to your range and not have to worry about changing the number in the argument. One solution looks like this:
  def start_of_word(stuff, n = 1)
    stuff[0...n]
  end
So simple, right?! :)