在简单的Ruby中,我们可以通过以下步骤从Person实例中获取孙子实例:
class Person
attr_accessor :name, :age, :children
def initialize(name, age)
@name = name
@age = age
@children = []
end
def add_child(child)
@children << child
end
end
person1 = Person.new("John", 50)
person2 = Person.new("Mike", 30)
person3 = Person.new("Tom", 10)
person4 = Person.new("Sam", 5)
person1.add_child(person2)
person2.add_child(person3)
person3.add_child(person4)
在上述示例中,我们创建了一个Person实例person1,并将person2作为其子实例添加到其children数组中。同样,我们将person3作为person2的子实例添加到其children数组中,以此类推。
def get_grandchildren(person)
grandchildren = []
person.children.each do |child|
grandchildren += child.children
end
grandchildren
end
在上述方法中,我们遍历给定Person实例的children数组,并将每个子实例的children数组添加到孙子实例数组中。最后,我们返回孙子实例数组。
grandchildren = get_grandchildren(person1)
在上述示例中,我们将person1作为参数传递给get_grandchildren方法,并将返回的孙子实例存储在grandchildren变量中。
这样,我们就可以从简单的Ruby中的Person实例中获取孙子实例了。请注意,这只是一个简单的示例,实际情况中可能会有更复杂的数据结构和逻辑。
领取专属 10元无门槛券
手把手带您无忧上云