返却前の処理に気をつけると良い。
example
例えば、以下のようなメソッドを実装する場合、
p sample_method()
# => { 'hoge' => 0, 'piyo' => 0 }
返却前の処理を誤って記述してしまうと、returnを利用する場合は構文エラーを出してくれるが、
def sample_method
result = { 'hoge' => 0 }
# 1の後に間違ってカンマ","をつけてしまった
result['piyo'] = 1,
return result
end
# =>
# SyntaxError (xxx:nn: void value expression)
# return result
# ^~~~~~
# xxx:nn: syntax error, unexpected local variable or method, expecting `end'
# return result
# ^~~~~~
returnを省略する場合は意図しない値が返ってきてしまう場合がある。
def sample_method
result = { 'hoge' => 0 }
# 1の後に間違ってカンマ","をつけてしまった
result['piyo'] = 1,
result
end
p sample_method()
# => [1, {"hoge"=>0, "piyo"=>[...]}]
Rubyとしては正しい構文であるため、エラーは発生しない。