gpt4 book ai didi

Ruby 访问魔法

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

假设,我有以下类(class):

class MyClass
attr_accessor :vars

def initialize
@vars = []
end

def add_var var
@vars << var
end

end

我想像这样访问内部变量:

x = MyClass.new('root')
x.add_var 'test'
x.add_var 'something'
x.add_var Myclass.new('google')
x.google.add_var 'nice'

puts x.test
puts x.something
puts x.google.nice

一般来说,可能吗?我应该挖掘什么/在哪里?

最佳答案

它是标准 Ruby 库的一部分,称为 OpenStruct:

#!/usr/bin/ruby1.8

require 'ostruct'

x = OpenStruct.new
x.google = OpenStruct.new
x.google.nice = 'Nice. Real nice'
p x.google.nice # "Nice. Real nice"

你也可以在构造函数中初始化属性:

x = OpenStruct.new(:google=>OpenStruct.new(:nice=>'Nice.  Real nice'))
p x.google.nice # => "Nice. Real nice"

关于Ruby 访问魔法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2108986/

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