> wuss_var is "" after major_pest returns. So apparently you can affect > it. The only way (that I know of) to write that method without > affecting the outside variable is > > def major_pest(wussy_var) > guardian_angel = wussy_var.clone > guardian_angel.slice!(0..-1) > puts "HAHA! I ruined your variable!" > end the reason that ruins your variable is that `slice!` modifies the object in place (this is why it ends in an `!`). If you do: > def major_pest(wussy_var) > wussy_var=wussy_var.slice(0..-1) > puts "HAHA! I ruined your variable!" > end instead you don't change the original object, instead slice creates the clone for you. -tim