メソッドがあり、ブロックが渡されているかどうかを確認するために、次のことを行います。
if block_given?
res = yield(array[i], array[i+1])
else
res = array[i] - array[i+1]
end
しかし、RuboCopは警告を出していますが、if block_given?
行:
変数の割り当てと比較に条件の戻り値を使用する
これを行う他のルビイスト方法はありますか?
ありがとう
警告があなたにすべきことは何ですか:
res = if block_given?
yield(array[i], array[i+1])
else
array[i] - array[i+1]
end
つまり、2つ(またはそれ以上)ではなく1つの割り当てを持ちます。