- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我发现自己在我的类中初始化了很多变量,我想知道是否有更简单的方法来做到这一点。一旦你获得超过 20 个变量,它就会变得有点多余。
class Car
attr_reader :make,
:model,
:year,
:id
def initialize(args)
@make = args["make"]
@model = args["model"]
@year = args["year"]
@id = args["id"]
end
end
谢谢!
最佳答案
你也可以这样做:
class Car
def initialize(args)
args.each do |key, value|
instance_variable_set("@#{key}", value)
end
end
end
car = Car.new({name: 'My car', make: 'BMW'})
p car #<Car:0x007fe80c8875d8 @name="My car", @make="BMW">
关于ruby - 构造函数中许多 attr_reader 的简写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32022437/
如何在对象上动态创建属性并将对象分配给它的值?我有以下代码: class Component def initialize end end class BaseClass def i
我最近被下面的代码难住了: class Foo attr_accessor :n def initialize(i) @n = i end def val n en
我希望下面的代码能按预期工作,但它给了我一个 NoMethodError(为 # class MyClass end my_object = MyClass.new my_object.instanc
很抱歉这个问题,可能是真正的新手问题: 我想定义一个返回 bool 值的 getter。 f.i.: attr_reader :server_error? 但是,我该如何更新它,因为如果末尾有问号
这就是 attr_reader 与arrays 一起工作的方式吗? class User def initialize @interests = [] end attr_reade
我发现自己在我的类中初始化了很多变量,我想知道是否有更简单的方法来做到这一点。一旦你获得超过 20 个变量,它就会变得有点多余。 class Car attr_reader :make,
我正在寻找方法来创建相应的 attr_reader 方法,同时在初始化方法中为相应的实例变量设置值?例如下面的代码: class SomeClass attr_reader :hello de
我刚看完POODR的前几章.作者展示了 attr_reader(accessor) 的一个特性,除了 attr_ 的广为人知的特性之外,它还允许您在声明实例变量后引用它们时消除对“@”的需要。 但是,
我有以下代码: class A attr_reader :x, :y private_class_method :new def self.with_data a = ne
在 Ruby 中,有没有办法做类似的事情 class Foo attr_reader :var_name :reader_name #This won't work, of course
在 Ruby 中,您可以通过将以下内容添加到类定义中来创建 getter/setter 方法。 attr_reader :key1, :key2, :key4 attr_writer :key1, :
是否可以在 Ruby 中为 attr_reader 方法起别名?我有一个带有 favorites 属性的类,我想为美国用户别名为 favorites。执行此操作的惯用 Ruby 方法是什么? 最佳答案
attr_reader在 python 中是否有一个“同义词”,就像不需要让我输入的东西一样?: class Foo(): def __init__(self, foo, bar, spam,
Sorbet 显示 attr_reader 错误,但如果我错了请纠正我,当函数被声明而不是被调用时需要 sigs,对吧? 我已经尝试过阅读文档,但我得到的只是这个注释 注意:许多看起来像局部变量的 R
attr_accessor 的文档明确地说它创建了一个实例变量: [...] creating an instance variable (@name) and a corresponding acc
(大编辑,我在那里的一部分......)我一直在努力,我想出了这种方法来指定在读取属性之前需要完成的事情: class Class def attr_reader(*params) if
遇到一些奇怪的行为,想知道是否有其他人可以确认我所看到的。 假设您创建了一个带有成员变量的类,并允许使用 attr_reader 读取它。 class TestClass attr_reader
如果您编写 my_obj.attr,主要是在 Rails 中,它会在数据库中查找 attr 并返返回告。如何创建自定义 def attr 方法,在内部查询数据库中的 attr,修改它并返回?换句话说,
我正在构建一个系统,该系统使用大量小类来进行数据处理(每个类都执行不同的处理步骤,不错且类似于 SRP)。我用一些参数初始化每个类,然后调用该类的 execute() 方法,然后该类使用其他私有(pr
如何在运行时添加类实例变量、它的数据和 attr_reader? class Module def additional_data member, data self.class.send
我是一名优秀的程序员,十分优秀!