неверное количество аргументов (задано 1, ожидается 2) (ArgumentError) - PullRequest
0 голосов
/ 30 января 2019

Моя цель - ввести разрешение экрана и сохранить его в screen_size.Я сделал это, но у меня есть ошибка.

class Screen
  attr_accessor :screen_size, :info

  def initialize(screen_size, info)
    @screen_size = screen_size
    @info = info
  end
end

my_info = Screen.new("What is you're resolution?")
my_screen = Screen.new(gets.chomp)
# >> in `initialize': wrong number of arguments (given 1, expected 2) (ArgumentError)

Как я могу решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 30 января 2019

Вы передаете неверные аргументы Screen.new.Ваш initialize метод ожидает два аргумента, а вы передаете только один.

Попробуйте это:

screen = Screen.new(gets.chomp, "What is you're resolution?")
0 голосов
/ 30 января 2019

gets.chomp возвращает одно значение (это то, что вы набрали перед нажатием Enter).Этот метод ожидает два.Если вы вводите что-то вроде «1024 768», то вы можете разделить ввод по пробелу.Как то так:

w, h = gets.chomp.split(' ')
my_screen = Screen.new(w, h)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...