错误返回迭代循环次数的方法调用

时间:2012-02-26 08:16:14

标签: ruby

这是我的代码,它接受一个字符串并将其反转

    name = "I CAN REVERSE THIS"

    def reverse_string(name_string)
      string_arr = []
      string_arr = name_string.split('')

      for i in 1..(string_arr.length)
        new_string = "#{new_string}#{string_arr[-i]}"
      end

      #return new_string
    end

    new_name = reverse_string(name)
    puts new_name

如果函数内部没有调用返回动作,为什么我的reverse_string函数返回“1..18”,但如果调用了返回动作则返回预期结果?

1 个答案:

答案 0 :(得分:1)

在Ruby中,方法的隐式返回值(如果没有对return进行显式调用)是该方法中最后一个语句的返回值。在这种情况下,for显然会返回它迭代的内容。