Разработайте класс одномерного массива и два экземпляра этого класса - PullRequest
0 голосов
/ 08 января 2020

Моя задача:

Создать 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)

Но это не работает по мере необходимости. Что мне исправить?

1 Ответ

0 голосов
/ 08 января 2020

Я думаю, что это какой-то вопрос от института, и требования отличаются от того, что вы кодировали, я просто пытаюсь исправить вашу кодировку и исправить ее, чтобы вы получили какой-то результат, чем вы можете в дальнейшем приступить к полному выполнению ваших требований .

  1. Ваша первая ошибка - вы запрашиваете один параметр, но запятая дает несколько параметров, поэтому я изменил его, чтобы получить массив.
  2. Как изменился массив, так что теперь вы можете сначала не добавляйте другой массив, так как это всего лишь один массив, поэтому я удаляю << и добавляю = в методе инициализации
  3. Ваш метод инициализации не принимает никаких параметров, но вы предоставляете, но Вы должны определить метод set_vector, поэтому вы должны использовать этот метод вместо класса, в соответствии с вашими требованиями, это то, что вы хотите.
  4. Вы должны определить - метод, но чем вы должны играть с переменными класса Кроме того, так как вы играете с двумя объектами и с вашим классом, вы должны определить - функцию, но я здесь просто использую g метод 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...