我有以下代码:
def test_compare()
if true
condition = true
else
condition = false
end
assert_equal(true, condition)
end
在 Ruby 中,块内的变量与根据“我不理解 ruby 本地范围if
”声明的在块外声明的变量具有相同的范围。if
在控制结构内部初始化变量而不首先声明它们或在控制结构外部初始化它们是常见的做法吗?
来自 Java.NET 背景,这似乎使代码的可读性降低并且更容易出现逻辑错误。
我正在尽最大努力“不在 Ruby 中编写 .NET 代码”,但想了解为什么上述内容比在范围开头或控制结构之外声明范围变量更有意义。