假设您有一个方法可以在最后为方法调用分配变量:
def this_method(x)
x = x + 5
x = some_method_like_multiply_by_two(x)
end
和没有变量赋值的类似方法:
def this_method(x)
x = x + 5
some_method_like_multiply_by_two(x)
end
哪一个更好?是否有必要在方法的最后一个语句中使用x =
?第一个更清楚吗?第二个是否会冒任何因为他们可能不知道它使用x
做什么而引入更多错误的风险?哪一个是正确的编码方式?我什么时候想要使用第一种样式(尽管变量在代码分析中显示为未使用)?
答案 0 :(得分:2)
为什么不进一步简化生活并做到:
def this_method(x)
some_method_like_multiply_by_two(x + 5)
end
由于x
纯粹是方法本地的,并且您返回调用另一个方法的结果,因此使用中间操作更新x
不会完成任何操作。直奔目标。
答案 1 :(得分:1)
您是否正在尝试更改" x"的价值?传递给this_method?如果不是那么" x ="是浪费精力,特别是因为你没有使用x,除非你从方法返回x。如果您有两种选择:
def this_method(x)
x = x + 5
x = some_method_like_multiply_by_two(x)
return x
end
或只是简单地说:
def this_method(x)
x = x + 5
x = some_method_like_multiply_by_two(x)
x
end