在Ruby中,要读取另一个类中变量的值,可以使用访问器方法或实例方法来实现。
attr_reader
或attr_accessor
来自动生成读取方法。attr_reader
:生成只读的访问器方法,可以读取另一个类中的变量值。attr_accessor
:生成可读写的访问器方法,可以读取和修改另一个类中的变量值。示例代码如下:
class AnotherClass
attr_reader :variable
def initialize
@variable = "Hello"
end
end
class MyClass
def initialize
@another_class = AnotherClass.new
end
def read_variable
@another_class.variable
end
end
my_object = MyClass.new
puts my_object.read_variable
输出结果为:Hello
在上述示例中,AnotherClass
类中的variable
变量使用attr_reader
生成了读取方法。在MyClass
类中,通过创建AnotherClass
对象,并调用read_variable
方法来读取AnotherClass
中的variable
变量的值。
示例代码如下:
class AnotherClass
def initialize
@variable = "Hello"
end
def get_variable
@variable
end
end
class MyClass
def initialize
@another_class = AnotherClass.new
end
def read_variable
@another_class.get_variable
end
end
my_object = MyClass.new
puts my_object.read_variable
输出结果为:Hello
在上述示例中,AnotherClass
类中定义了get_variable
方法,通过该方法直接返回@variable
实例变量的值。在MyClass
类中,通过创建AnotherClass
对象,并调用read_variable
方法来读取AnotherClass
中的variable
变量的值。
无论是使用访问器方法还是实例方法,都可以实现读取另一个类中变量的值。具体选择哪种方式取决于具体的需求和设计。
领取专属 10元无门槛券
手把手带您无忧上云