2011-07-14 17 views
7

Słowo kluczowe return jest opcjonalne w ruby, więc w przypadku funkcji z tylko jednym punktem wyjścia "wynik zwrotu" można bezpiecznie zastąpić po prostu "wynikiem".Czy zwroty zwrotne są złe w Ruby?

Czy są jakieś specjalne wskazówki dotyczące tego, kiedy to zrobić?

Staram się unikać słowa kluczowego return tak bardzo, jak to możliwe, ze względu na ich niesforne zachowanie w procach.

Odpowiedz

19

"return" w ruby ​​jest używany tylko wtedy, gdy próbujesz zwrócić więcej niż jedną wartość. na przykład

return val1, val2 

lub jeśli ma sens wcześniej wrócić z funkcji np.

#check if needed param is set 
return if !param 

#some operations which need param 

co jest łatwiejsze niż zepsucie kodu za pomocą kaskadowych instrukcji if.

Wniosek: Używaj zwrotu za każdym razem, gdy upraszcza twój kod lub ułatwia zrozumienie.

+0

jesteś pewny co do pierwszego punktu? * def zabawy; [val1, val2]; koniec * Drugi jest w porządku. – tokland

+0

tak. jeśli zwrócisz wiele wartości jako tablicę (jak opisałeś), nie będziesz w stanie otrzymać wartości z val1, val2 = fun. Musiałbyś zrobić ret = fun; val1 = ret [0]; val2 = ret [1], aby osiągnąć to samo. – gorootde

+2

Przykro nam nalegać, ale nie ma znaczenia, czy używasz zwrotu, czy nie, zwracasz tablicę (którą później możesz rozpakować) * def fun; [1, 2]; koniec; a, b = zabawa; "a = # {a}, b = # {b}" * # => "a = 1, b = 2" – tokland

Powiązane problemy