вызов метода, который по ошибке возвращает номер цикла итерации - PullRequest
1 голос
/ 26 февраля 2012

Вот код, который у меня есть, который берет строку и переворачивает ее

    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 Ответ

1 голос
/ 26 февраля 2012

В Ruby неявное возвращаемое значение метода (если не делается явный вызов return) является возвращаемым значением последнего оператора в этом методе. В данном случае это for, который, по-видимому, возвращает то, над чем он повторялся.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...