Access denied, Please sign in and make sure you have proper permission.
明明是旧东西的问题... 换到一般代码中想:
def foo
"abc"
end
foo = foo # 这明显应该是 nil 啊
#1 楼 @luikore 我不知道这里为什么为 nil,但是在<2.2 中
def foo
"abc"
end
def xx( foo = foo )
p foo
end
xx
=> “abc”
#3 楼 @hw676018683 这样写不就行了么?
def xx foo=foo()
end
<2.2 中才是错的:
def foo
"abc"
end
def xx( foo = foo )
p foo
end
foo = foo
p foo # nil
xx # "abc" ? WTF?
再者把参数名和值写成一样的代码本身就挺有问题,参数中写 foo = foo
应该直接报语法错误才对...