繁体   English   中英

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

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

我的目标是让用户输入屏幕分辨率并将其存储在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)

我该如何解决?

您将错误的参数传递给Screen.new 您的initialize方法需要两个参数,而您只传递了一个。

尝试这个:

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

gets.chomp返回一个值(这是您在按Enter之前键入的任何值)。 该方法需要两个。 如果输入的是“ 1024 768”之类的内容,则可以按空格分隔输入内容。 像这样:

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

暂无
暂无

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM