Size: a a a

2020 July 02

EE

Ekaterina Egorova in RubyRush
ну если правильно поняла суть затруднений - мне в свое время было оч долго непонятно что такое "возвращает"
источник

EE

Ekaterina Egorova in RubyRush
а если по синтаксису непонятно  - то тут просто - в последнем выражении можно не писать return - ruby справится
источник

I

Ilya in RubyRush
Т.е.
def sum(a, b)
 res = a + b
 a += 1000
 return res
end

x = sum(5, 23)

puts x
Outpat = 28

Если
def sum(a, b)
 res = a + b
 a += 1000
 #return res убираем непонятный return
end

x = sum(5, 23)
Outpat = 1028

puts x
источник

EE

Ekaterina Egorova in RubyRush
вот вот поэтому он и нужен ... тут еще себя перечитала путаница
источник

BO

Boris O in RubyRush
Ilya
Переслано от Ilya
Хей гайз, объясните, пожалуйста, на пальцах, зачем return и что он делает. Да-да, прочитал что возвращает значение. Но что это значит? Зачем return в этом коде? И без него все работает. Объясните на человеческом языке плз, как вы это видите, как у вас этот код звучит в голове.
В Diablo2 играли?
источник

I

Ilya in RubyRush
Boris O
В Diablo2 играли?
Не, слишком молод
источник

EE

Ekaterina Egorova in RubyRush
есть слово "return"  когда говорят что можно не писать - имеется в виду не писать слово
источник

EE

Ekaterina Egorova in RubyRush
а сам ретёрн всё равно будет работать
источник

BO

Boris O in RubyRush
Ilya
Не, слишком молод
Жаль. У меня родилась хорошая аналогия в понимании ретурна :)
источник

EE

Ekaterina Egorova in RubyRush
последняя строчка всегда ретёрн или раньше если в коде он будет явно прописан
источник

EE

Ekaterina Egorova in RubyRush
вот выше пример нужно в конце написать
res

(cлово return можно опустить)
источник

EE

Ekaterina Egorova in RubyRush
чтобы сумма нормально работала
источник

EE

Ekaterina Egorova in RubyRush
после других вычислений
источник

I

Ilya in RubyRush
Ilya
Т.е.
def sum(a, b)
 res = a + b
 a += 1000
 return res
end

x = sum(5, 23)

puts x
Outpat = 28

Если
def sum(a, b)
 res = a + b
 a += 1000
 #return res убираем непонятный return
end

x = sum(5, 23)
Outpat = 1028

puts x
Так по этому коду так и получается? Если я говорю return res - "верни значение переменной res", то в конце алгоритма вне зависимости от того, что шло после res, он будет ссылаться на сам res
источник

I

Ilya in RubyRush
Т.е. я по сути заякорил значение и просто сослался на него, типа как тег поставил
источник

EE

Ekaterina Egorova in RubyRush
в данном случае да - а так методы могут быть очень разные
источник

EE

Ekaterina Egorova in RubyRush
мало ли что вам нужно чтоб они выдавали по итогу
источник

EE

Ekaterina Egorova in RubyRush
может наоборот нужно чтоб 'a' например выдал из прошлого примера - тогда ее в конце или в середину но уже со словом return
источник

EE

Ekaterina Egorova in RubyRush
может вам вот так будет надо
def sum(a, b)
 res = a + b
 a += 1000
 b =+ 2000
 [res, a, b]
end

x = sum(5, 23)

puts x
источник

EE

Ekaterina Egorova in RubyRush
ну название тогда странное уже у метода надо менять но мало ли - понадобится вот такой массив  - вы его соберете поставите в конце и можно само слово return не писать
источник