ruby - 类语句的奇怪输出
问题描述
我正在尝试将 3 个值放入数组的每个索引中。这些值适用于class
、assignment
和grade
。它们来自一个名为 的类对象Grade_Log
。
我遇到了输出问题。
class Grade_Log
attr_accessor :which_class, :assignment_type, :grade
def initialize(which_class, assignment_type, grade)
@which_class = which_class
@assignment_type = assignment_type
@grade = grade
end
end
#values are assigned to add_class, add_assignment, and add_grade
grade_index[grade_index_tally] = Grade_Log.new(add_class,add_assignment,add_grade)
puts grade_index[grade_index_tally]
我希望它输出,例如,"PHYSICS, HOMEWORK, 95"
但我得到以下内容。#<Grade_Log:0x0000000002baaa20>
解决方案
如果您希望能够创建类puts
的实例,则Grade_Log
需要to_s
为您的类定义。现在,它很可能使用默认to_s
方法。
我想你会想要这样的东西:
class Grade_Log
... # your code
def to_s
"#{which_class}, #{assignment_type}, #{grade}"
end
end
这基本上与以下内容相同:
def to_s
[which_class, assignment_type, grade].join(', ')
end
推荐阅读
- python - Python opencv从验证码中去除噪音
- twilio - 来自 Twilio 工作室的访问号码友好名称
- python - Keras自定义图层调用方法中的批量形状
- php - 空函数在应该返回 true 时返回 false
- forms - CasperJs:如何提交具有 action="" 的表单(没有操作)
- windows - Windows 内核中的 FindFirstFile()
- webdrivermanager-java - 如何抑制 webdriver-manager 日志
- c - 函数在数组中生成随机数
- python - 对于 Django 中的查询集遍历,嵌套 for 循环真的很慢
- java - 从 JSON 中获取所有用户并将其放入 TextView