Ruby 方法调用,该方法错误地返回迭代的循环数

Ruby 方法调用,该方法错误地返回迭代的循环数,ruby,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]}"

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

    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”,而在调用返回操作时返回预期结果?

在Ruby中,方法的隐式返回值(如果没有显式调用
return
)是该方法中最后一条语句的返回值。在本例中,这是的
,它显然返回它所迭代的内容。

在Ruby中,方法的隐式返回值(如果没有显式调用
return
)是该方法中最后一条语句的返回值。在本例中,这是
,它显然返回了它所迭代的内容。

您是否试图重写Ruby的新方法;只是在探索;似乎最好的学习方法就是重写简单的方法。你们是不是在尝试重写Ruby的新方法;只是在探索;似乎最好的学习方法是重写简单的方法。