gpt4 book ai didi

ruby - 如何使方法优先于局部变量

转载 作者:太空宇宙 更新时间:2023-11-03 18:09:44 25 4
gpt4 key购买 nike

我有一个方法和一个同名的局部变量x:

class A
def x; 5 end
end

x = 10

我想在不使用self.x 的情况下引用方法x。例如,我想要:

A.new.instance_eval{x} # => 10

返回 5。这可能吗?

最佳答案

是的,有几种方式:

A.new.instance_eval{x()} # => 5
A.new.instance_eval{send(:x)} # => 5

如果只允许x,那是不可能的。局部变量具有词法范围,并且在有歧义的情况下优先于方法。

关于ruby - 如何使方法优先于局部变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36822999/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com