gpt4 book ai didi

ruby - 试图覆盖 to_s

转载 作者:数据小太阳 更新时间:2023-10-29 08:26:56 24 4
gpt4 key购买 nike

<分区>

我是 Ruby 的新手,我不明白为什么我会得到这样的结果。

  • 我有一个 Person我有实例变量的类,@name , @age@weight .在这个类中,我覆盖了 to_s 方法来打印@name , @age@weight对象的。
  • 我有一个 House 类,其中有一个类型的对象数组
    Person ( @persons ),而且我还有一个名为 person 的方法那返回一个对象(在用数组中的参数编号)@persons ,例如 any_house_object.person(0)将返回类型为 Person 的对象数组的第一个对象那是在any_house_object对象。

    class Person
    def initialize(name, age, weight)
    @name = name
    @age = age
    @weight = weight
    end

    def to_s
    puts "Name: #{@name}"
    puts "Age: #{@age}"
    puts "Weight: #{@weight}"
    end
    end

    class House
    def initialize
    @persons = []
    end

    def add_person(name, age, weight)
    @persons << Person.new(name, age, weight)
    end

    def person(number)
    @persons[number]
    end
    end

    my_house = House.new

    my_house.add_person("Patrick", "18", "65")
    my_house.add_person("John", "18", "65")

    puts my_house.person(0)

这个产品

    Name: Patrick
Age: 18
Wight: 65
#<Person:0x5e2318>

最后,我的问题是我不明白为什么最后我做 puts my_house.person(0)也出现#<Person:0x5e2318>在最后。

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