ruby - 实例方法只输出类id,不输出方法
问题描述
我试图看看是否可以使用简单的do
语句来传输实例变量的属性。
class Dog
def initialize(name, age)
@name = name
@age = age
end
def bark
puts 'Woof'
puts 'Woof'
puts 'Woof'
end
end
bo = Dog.new do |word|
word.bark
end
为什么它返回类 id 而不是函数的输出?
解决方案
正如评论中所建议的那样,将块传递给new
语句是没有意义的。
您可以将代码更改为:
bo = Dog.new('Rusty', 3).tap do |word|
word.bark
end
它会按预期吠叫。:)
推荐阅读
- angular - Angular 5:验证禁用的字段
- java - Jooby Webserver 总是抛出错误“406 Not Acceptable: text/html”
- firebase - 如何使用firebase auth限制对next.js中页面的访问?
- lodash - 使用 lodash 按键自定义总和元素
- excel - Excel Userform 在文本框中搜索并在列表框中进行过滤
- ajax - 如何使 XML 调用中的 id= 提供指向其调用内容的链接?
- python - 如何根据列的匹配合并两个文件?
- tcp - 如何在 erlang gen_tcp 中同时处理一个客户端?
- java - Spring Boot 从配置文件加载列表返回空列表
- python - 这是读取音频文件 FFT 的正确方法吗?(python + wav)