gpt4 book ai didi

ruby - 如何识别Ruby软件必要的类和模块?

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

假设我正在编写一个 Ruby gem。我想设计将要使用的类和模块。

  1. 如何识别它们?
  2. 哪里需要类,哪里需要模块?

最佳答案

您的问题是关于 Ruby 语言的主要设计特征之一。

基本上,您可以将模块视为工具的集合,将类视为能够与这些工具混合的对象的集合。

Ruby faq说到模块:

Modules are collections of methods and constants. They cannot generate instances.

当你想提供一些东西时,你需要一个类。你可以做一个 MyClass.new,你不能用一个模块:MyModule.new 不会工作。

另一方面:

Classes may generate instances (objects), and have per-instance state (instance variables).

当您想提供一种做某事的方法时,您将需要一个模块。您可以执行 MyModule.doSomething(SomeParams)。您也可以使用类方法来做到这一点,但您将无法使用它进行一些混合。

参见 this faq以获得更详细的答案。

关于ruby - 如何识别Ruby软件必要的类和模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9079861/

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