首页 > 解决方案 > 开发一个类一个一维数组和这个类的两个实例

问题描述

我的任务:

 创建 2 个类对象。删除第一个对象中包含在第二个对象中的所有元素。

我的实现:

    class Vector

      def initialize
        @vector = Array.new
      end
   end

    vector1 = Vector.new(1,2,3,4,5,6,7)
    vector2 = Vector.new(3,6,7)

但这不能按需要工作。我应该修复什么?

标签: arraysoop

解决方案


我认为这是来自研究所的某种问题,并且要求与您编码的不同,我只是想纠正您的编码并进行纠正,以便您获得一些结果,然后您可以进一步满足您的要求。

  1. 您的第一个错误是您要求一个参数,但提供逗号却提供了多个参数,因此我将其更改为获取数组。
  2. 由于更改了数组,所以现在您不能先添加另一个数组,因为它只是一个数组,所以我在初始化方法中删除<<和添加=
  3. 您的初始化方法不采用任何参数,但您正在提供,但您必须定义一个方法set_vector,因此您必须根据您想要的要求使用该方法而不是类。
  4. 你应该定义 - 方法,但你也必须使用类变量,因为你正在使用两个对象并且在你的类中你必须定义-函数,但我在这里只是使用你的 get_vector 方法来比较数组并返回你的响应. 将 put 更改为 print 以便您可以使用变量而不是所有项目。

希望这会给您一些有用的编码见解。

class Vector

  def initialize
    @vector = Array.new
  end

  def set_vector=(vector)
    @vector = vector
  end

  def get_vector
    @vector
  end
end

def confront(first_vector, second_vector)
  first_vector.get_vector - second_vector.get_vector
end

first_vector = Vector.new
first_vector.set_vector=[1,2,3,4,5,6,7]
second_vector = Vector.new
second_vector.set_vector=[3,6,7]
final_vector = confront(first_vector, second_vector)

begin
puts "First:" 
print first_vector.get_vector
puts "\nSecond:"
print second_vector.get_vector
puts "\nFinal Vector:"
print final_vector
end

推荐阅读