ruby - 向基本 Ruby 代码添加类结构

标签 ruby class oop object

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

<醇>
  • 分配给值的用户输入
  • 输入按行提取到数组
  • 迭代提取特定文本和特定数字的每一行
  • if/else 语句

    if text includes specific words then you apply math if text includes specific words you don't apply math

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

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

    最佳答案

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

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

    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)
    

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

    MyContainer.new(mydata)
    

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

    关于ruby - 向基本 Ruby 代码添加类结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20576392/

    相关文章:

    ruby-on-rails - Rails rake 中止!无法将 Hash 转换为 String

    .net - VB.NET 中的“阴影”与 'Overrides'

    ruby-on-rails - 如何在 Rails 中声明动态路由作用域/命名空间变量?

    C++ 转换错误

    python - 将文件传递给类

    php - PHP 中的类插件?

    .net - jquery 类似 c#/.Net 中的扩展

    java - 带有继承的工厂方法模式的好方法

    ruby-on-rails - Heroku:无法通过 Bundler 安装 gems

    Ruby 保护 block 内的外部变量