我有一个Ruby函数,它返回调用者随后使用的单个变量,但是我收到以下警告
警告:已分配但未使用的变量
我已经整理了一个人为的例子,它会用" ruby -cw"
def get_sum(num1, num2)
sum = num1 + num2
end
puts get_sum(1, 1)
如果我用" ruby -cw"检查它?我得到了上述警告。但是我正在使用" sum"变量 - 只是不在该函数的范围内。我该如何避免这种警告? (并且也满足Rubocop。)
答案 0 :(得分:6)
您没有使用sum
变量进行任何操作。以下内容完成相同的事情:
def sum(a, b)
a + b
end
由于sum
是get_sum
方法的本地方法,因此无法在该上下文之外使用。
答案 1 :(得分:0)
您可以显式返回值以抑制该错误。像这样:
def get_sum(num1, num2)
sum = num1 + num2
return sum
end
puts get_sum(1, 1)
你也可以稍微缩短一下:
def get_sum(num1, num2)
return num1 + num2
end
puts get_sum(1, 1)
正如您似乎发现的那样,您可以省略关键字' return'如果你关心的只是最后一个表达的结果。