ошибка «неправильное количество аргументов» при инициализации класса фрейма в wxRuby - PullRequest
1 голос
/ 03 августа 2011

Я пытаюсь найти свои подшипники с помощью wxRuby и использую это, возможно, устаревшее учебное пособие с ruby ​​1.9.2p180 (2011-02-18) [i386-mingw32]

Это:

class MinimalApp < App
  def on_init
     Frame.new(nil, -1, "GUI Mockup").show()
  end
end

работает: выводит пустое окно. Тем не менее, когда я пытаюсь добавить рамку в окно, как показано ниже:

class MyFrame < Frame
  def initialize()
  super(nil, -1, 'My Frame Title')
 end
end

и измените "Frame.new (..." на "MyFrame.new", я получаю следующую ошибку:

C:/.../wxTest.rb:8:in `initialize': wrong number of arguments (3 for 0) (ArgumentError)
    from C:/.../wxTest.rb:19:in `new'
    from C:/.../wxTest.rb:19:in `on_init'
    from C:/.../wxTest.rb:24:in `main_loop'
    from C:/.../wxTest.rb:24:in `<main>'

В этот момент я застрял. Буду благодарен за любые предложения.

1 Ответ

0 голосов
/ 03 августа 2011

ОК, поэтому через несколько секунд после публикации я ответил на свой вопрос.Проблема была в том, что

 MyFrame.new.(nil, -1, "Multipass GUI Mockup").show()

устанавливает параметры дважды или что-то в этом роде.Изменение на

 MyFrame.new.show()

сделало свое дело.

Д'Ох!

...