gpt4 book ai didi

ruby - attr_accessor 创建的方法对子类不可用

转载 作者:数据小太阳 更新时间:2023-10-29 07:37:15 25 4
gpt4 key购买 nike

http://gist.github.com/172341 (stackoverflow 破坏了格式)

在以下情况下,Human 创建的方法名称对 Boy 不可用。我的理解是否正确,attr_accessor 方法不是可用于子类。我需要使用父类(super class)来访问 attr_accessor 添加的方法。

最佳答案

您正在寻找的是 cattr_accessor,它可以解决这个特定问题:

http://apidock.com/rails/Class/cattr_accessor

这是您的示例,已修复:

class Human
def self.age
@age = 50
end
def self.age=(input)
@age = input
end

cattr_accessor :name

self.name = 'human'
end
class Boy < Human
end

puts Human.age
puts Boy.age
puts Human.name
puts Boy.superclass.name
puts Boy.name # => 'human'

关于ruby - attr_accessor 创建的方法对子类不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1313771/

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