【问题标题】:Adding Class Structure to Basic Ruby Code将类结构添加到基本 Ruby 代码
【发布时间】:2013-12-13 21:34:08
【问题描述】:

这太疯狂了,我觉得问这个真的很愚蠢。但我在 Ruby 中有一个基本代码,它由

  1. 用户输入分配给值
  2. 输入逐行提取到数组
  3. 每行迭代提取特定文本和特定数字
  4. if /else 语句

    如果文本包含特定单词,则应用数学 如果文本包含您不应用数学的特定单词

  5. 我还有一个运行总计,我在循环外分配并添加到循环内
这一切都很好,但是项目需要类结构,我基本上如何获取代码 简单的 if else 语句基本循环(for each do |x|)和基本variable = true,或variable = input * 52/ 300

我从哪里开始使用 OOP 将其变成基于类的结构?

【问题讨论】:

  • 该项目是否对如何使用类有任何指导?您可以创建一个类(例如)来保存处理每一行的代码。一个保存输入的变量和一个遍历每一行的方法。
  • 不是真的,它只是说展示面向对象编程的知识,现在我的脚本中没有类
  • 生产质量,能够维护/构建

标签: ruby class oop object


【解决方案1】:

我会给你一个基本的大纲让你开始,但我不会为你做你的工作。 :)

首先:定义一个类来保存您的输入。

class MyClass
  def initialize(data)
    @data = data
    ...put your initialization code here, this gets run when you call MyClass.new()
  end
  attr_accessor :data 
  ...
end

第二:定义一个“容器”类来保存类的多个实例。

class MyContainer
  def initialize(record)
    @records << record
  end
  ...
end

第三:为收到的每一行创建一个新的类实例

mydata = MyClass.new(input)

Forth:将新实例存储在您的容器类中。

MyContainer.new(mydata)

现在,您可以执行以下操作,例如在 MyContainer 中创建一个 add 方法,该方法将遍历它在 @records 中保存的所有类并产生一个总和。

【讨论】:

  • 非常感谢!我刚开始使用 ruby​​,所以非常感谢任何帮助!
  • 当然,如果您不介意,请务必将此标记为已回答。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-22
相关资源
最近更新 更多