Rubyで”Redundant return detected”というエラーがでる場合の対処法

Rubyのコードでverifyをかけた際に,以下のようなエラーが出る場合があります。

Redundant return detected
これは,どのようなケースが考えられるでしょうか。

メソッドからの戻り値をReturnで返すとこのエラーが出る

メソッドから複数の値を戻り値として返したい場合,配列を使って渡します。
その際に,以下のように記述してしまうと,Redundant return detectedのエラーが出る場合があります。
return 配列
その場合には,returnを記述せずに,メソッドの定義内の最後に配列を記述するだけで,その配列が戻り値として返されます。

メソッドからの戻り値を受け取る方法

例えば,引数に数字を足した2つの値を戻したいと思った場合,returnを使わずに以下のように配列を最後尾に記述することで,sum1とsum2という変数に値を代入することが可能です。
def somefunction(x)
  value1 = x + 5
  value2 = x + 10
  [value1, value2]
end
x = 1
sum1, sum2 = somefunction(x)

 

以上,rubyでRedundant return detectedというエラーが出る場合の対処法でした。

コメント