我可以在课堂上实现+ =来增加包含的值吗?

伏地魔

考虑

class Container

  def initialize(value = 0)
    @value = value
  end

  def + (other)
    return @value + other
  end

  def - (other)
    return @value - other
  end

  def * (other)
    return @value * other
  end

  def / (other)
    return @value / other
  end

  def get
    return @value
  end

end

我想+=用来增加容器中的值,如下所示:

c = Container.new(100)
c += 100
print c.get   # Expecting  200

上面的方法不起作用,100将覆盖它c

我知道我可以使用诸如之类的attr_accessor方法为该值生成一个getter和setter方法,但是我很好奇我是否可以使用更漂亮的方法(例如using)来完成此操作+=

塞尔吉奥·图伦采夫

既然c += 100只是一个糖c = c + 100,那么你就无法避免被覆盖c但是您可以用类似的对象(而不是像问题中的fixnum)覆盖它。

class Container
  def initialize(value = 0)
    @value = value
  end

  def + (other)
    Container.new(@value + other)
  end

  def get
    @value
  end
end

c = Container.new(100)
c += 100
c.get # => 200

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我可以在课堂上使用__autoload吗?

来自分类Dev

我的课堂上可以有一个叫做print(或类似方法)的方法吗?

来自分类Dev

Getter&Setter还可以在课堂上使用吗?

来自分类Dev

我在课堂上正确使用了this关键字吗?

来自分类Dev

课堂上可以有生成器获取器吗?

来自分类Dev

课堂上可以有生成器获取器吗?

来自分类Dev

我可以通过加法来增加ac#字符的值吗?

来自分类Dev

课堂上的反身作文得到空值

来自分类Dev

我可以在不包含js文件的情况下使用Google课堂共享API吗?

来自分类Dev

从课堂上获得的价值无法实现?

来自分类Dev

在课堂上不好的做法是设置全局上下文吗?

来自分类Dev

在课堂上设置全局上下文是不好的做法吗?

来自分类Dev

工匠队列使用可变值在课堂上工作

来自分类Dev

我可以使用 <span> 来实现吗?

来自分类Dev

如何让“自我”在课堂上工作

来自分类Dev

我如何在课堂上支持println?

来自分类Dev

名称“自我”未在课堂上定义?

来自分类Dev

可以通过简单地增加setValue来更新JProgressBar吗?

来自分类Dev

我可以添加一个宏来基于增加工作表1中单元格的值来更改工作表2中单元格的值吗

来自分类Dev

我可以使用我的交换内存来增加 Ubuntu 20.04 的存储吗?

来自分类Dev

我可以通过更改为RAID 5来增加RAID 1的容量吗?

来自分类Dev

如何在课堂上使用共享首选项来设置所有活动?

来自分类Dev

我可以自动实现类吗?

来自分类Dev

我可以实现随机字体选择吗?

来自分类Dev

我可以强制子类实现接口吗?

来自分类Dev

我可以实现Digg的克隆吗?

来自分类Dev

我可以阻止实现接口吗?

来自分类Dev

Dict在Python中如何工作?它是课堂上的静态成员吗?

来自分类Dev

是否可以在课堂上从IB获得按钮标题?

Related 相关文章

  1. 1

    我可以在课堂上使用__autoload吗?

  2. 2

    我的课堂上可以有一个叫做print(或类似方法)的方法吗?

  3. 3

    Getter&Setter还可以在课堂上使用吗?

  4. 4

    我在课堂上正确使用了this关键字吗?

  5. 5

    课堂上可以有生成器获取器吗?

  6. 6

    课堂上可以有生成器获取器吗?

  7. 7

    我可以通过加法来增加ac#字符的值吗?

  8. 8

    课堂上的反身作文得到空值

  9. 9

    我可以在不包含js文件的情况下使用Google课堂共享API吗?

  10. 10

    从课堂上获得的价值无法实现?

  11. 11

    在课堂上不好的做法是设置全局上下文吗?

  12. 12

    在课堂上设置全局上下文是不好的做法吗?

  13. 13

    工匠队列使用可变值在课堂上工作

  14. 14

    我可以使用 <span> 来实现吗?

  15. 15

    如何让“自我”在课堂上工作

  16. 16

    我如何在课堂上支持println?

  17. 17

    名称“自我”未在课堂上定义?

  18. 18

    可以通过简单地增加setValue来更新JProgressBar吗?

  19. 19

    我可以添加一个宏来基于增加工作表1中单元格的值来更改工作表2中单元格的值吗

  20. 20

    我可以使用我的交换内存来增加 Ubuntu 20.04 的存储吗?

  21. 21

    我可以通过更改为RAID 5来增加RAID 1的容量吗?

  22. 22

    如何在课堂上使用共享首选项来设置所有活动?

  23. 23

    我可以自动实现类吗?

  24. 24

    我可以实现随机字体选择吗?

  25. 25

    我可以强制子类实现接口吗?

  26. 26

    我可以实现Digg的克隆吗?

  27. 27

    我可以阻止实现接口吗?

  28. 28

    Dict在Python中如何工作?它是课堂上的静态成员吗?

  29. 29

    是否可以在课堂上从IB获得按钮标题?

热门标签

归档