gpt4 book ai didi

单例类中的 Ruby attr_writer 方法

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

<分区>

如果它不以 = 结尾,我可以获得一个在单例类中设置实例变量的方法:

class Aaa
class << self
def config(&block)
instance_eval(&block)
end

def set_blah(blah)
@blah = blah
end

def blah
@blah
end
end
end

Aaa.config {set_blah("something")}
Aaa.blah # => "something" as expected

当设置实例变量的方法以=结尾时,它就不再起作用了:

class Bbb
class << self
def config(&block)
instance_eval(&block)
end

def blah=(blah)
@blah = blah
end

def blah
@blah
end
end
end

Bbb.config {blah=("something")}
Bbb.blah # => nil, not sure why

# This works
Bbb.blah=("hi")
Bbb.blah # => "hi"

为什么 set_blahblah= 方法的工作方式不同?

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