You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Ruby中puts打印对象的输出内容?

在Ruby中自定义puts打印对象的内容

当你使用puts输出一个对象时,Ruby会自动调用该对象的to_s方法。默认情况下,to_s返回的是对象的类名加上内存地址的字符串(比如#<MyClass:0x0000011fce07b4a0>)。要实现自定义打印内容,只需要在你的类中重写to_s方法即可。

修改后的代码如下:

class MyClass
    attr_accessor :var
    def initialize(var)
        @var = var
    end

    # 重写to_s方法,返回你想要打印的内容
    def to_s
        @var
    end
end

obj = MyClass.new("content")
puts obj # 现在会打印"content"

如果需要更复杂的输出格式,也可以在to_s里拼接字符串,比如:

def to_s
    "MyClass 实例,var 属性值为:#{@var}"
end

这样调用puts obj时,就会输出MyClass 实例,var 属性值为:content。

内容的提问来源于stack exchange,提问作者PKP

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 08:22:49