简体   繁体   English

参数数量错误(给定1,预期为2)(ArgumentError)

[英]wrong number of arguments (given 1, expected 2) (ArgumentError)

My goal is for a user to enter their screen resolution and store it in screen_size . 我的目标是让用户输入屏幕分辨率并将其存储在screen_size I did this, but I have an error. 我这样做了,但是我有一个错误。

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)

How can I solve this? 我该如何解决?

You are passing wrong arguments to Screen.new . 您将错误的参数传递给Screen.new Your initialize method expects two arguments and you are passing only one. 您的initialize方法需要两个参数,而您只传递了一个。

Try this: 尝试这个:

screen = Screen.new(gets.chomp, "What is you're resolution?")

gets.chomp returns one value (which is whatever you typed in before pressing enter). gets.chomp返回一个值(这是您在按Enter之前键入的任何值)。 That method expects two. 该方法需要两个。 If you're entering something like "1024 768", then you could split the input by the space. 如果输入的是“ 1024 768”之类的内容,则可以按空格分隔输入内容。 Something like this: 像这样:

w, h = gets.chomp.split(' ')
my_screen = Screen.new(w, h)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Jekyll:参数数量错误(给定 2,预期为 1)(ArgumentError) - Jekyll: wrong number of arguments (given 2, expected 1) (ArgumentError) ArgumentError:参数数量错误(给定0,应为1..2) - ArgumentError: wrong number of arguments (given 0, expected 1..2) 'initialize':错误的参数数量(给定3个,预期为0)(ArgumentError) - `initialize': wrong number of arguments (given 3, expected 0) (ArgumentError) Rails 中的 ArgumentError(arguments 的编号错误(给定 5,预期为 1)) - ArgumentError (wrong number of arguments (given 5, expected 1)) in Rails Rails-ArgumentError(参数数量错误(给定1,预期为0)): - Rails - ArgumentError (wrong number of arguments (given 1, expected 0)): Ruby - ArgumentError:参数数量错误(给定 3,预期为 2) - Ruby - ArgumentError: wrong number of arguments (given 3, expected 2) `initialize': arguments 的错误编号(给定 0,预期为 2)(ArgumentError) - `initialize': wrong number of arguments (given 0, expected 2) (ArgumentError) ArgumentError 错误的参数数量(给定 0,预期为 1) - ArgumentError wrong number of arguments (given 0, expected 1) ArgumentError:参数数量错误(给定 0,预期为 1)Ruby - ArgumentError: wrong number of arguments (given 0, expected 1) Ruby ArgumentError:参数数量错误(给定 0,预期为 1) - Ruby - ArgumentError: wrong number of arguments (given 0, expected 1) - Ruby
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM