Ruby - 未知方法初始化
Ruby - Unknown method init
我学到了一些东西 ruby 今天我尝试从 gtk3 开始构建一个 GUI。
我找到了这个教程
http://zetcode.com/gui/rubygtk/introduction/
然后我将代码复制到 运行 我终端中的脚本。
sudo ruby gui.rb
但我只得到这个错误代码。
gui.rb:34:in <main>': undefined method
init' for Gtk:Module (NoMethodError)
我已经使用以下命令安装了 gtk3 gem。
sudo gem install gtk3
在我尝试将 gtk 与 .. 一起使用之前
sudo gem install gtk2
哪里出错了?
我已经安装成功gtk.
该错误意味着您没有在程序的第 34 行定义您尝试 运行 的方法..
如果你想在 Ruby 中使用 GUI 做一些事情,我建议你改用 Shoes,Shoes 非常简单,而且有很多很棒的教程。
这是 link 鞋子:http://shoesrb.com/
您不必再使用 GTK.init
方法。
根据您正在学习的教程,只需保留以下代码即可:
#!/usr/bin/ruby
'''
ZetCode Ruby GTK tutorial
This program centers a window on
the screen.
Author: Jan Bodnar
Website: www.zetcode.com
Last modified: May 2014
'''
require 'gtk3'
class RubyApp < Gtk::Window
def initialize
super
set_title "Center"
signal_connect "destroy" do
Gtk.main_quit
end
set_default_size 300, 200
set_window_position Gtk::Window::Position::CENTER
show
end
end
# Gtk.init
window = RubyApp.new
Gtk.main
此外,您不应该使用 sudo 来安装您的 gem,因此您可以 运行 您的脚本而无需成为 root。
运行 sudo gem
会将您的 gem 安装到您的根目录中。
我目前正在使用旧代码调试类似问题。 gtk gem 的 3.0.x 系列有 (a) 没有 init
方法和 (b) 我找不到最新的文档,... :-(
要返回适用于该代码的 gtk3
版本,请尝试
gem install gtk --version "~> 2.2"
或者在你的gem规范中使用~> 2.2
,如果你使用一个
我学到了一些东西 ruby 今天我尝试从 gtk3 开始构建一个 GUI。 我找到了这个教程
http://zetcode.com/gui/rubygtk/introduction/
然后我将代码复制到 运行 我终端中的脚本。
sudo ruby gui.rb
但我只得到这个错误代码。
gui.rb:34:in
<main>': undefined method
init' for Gtk:Module (NoMethodError)
我已经使用以下命令安装了 gtk3 gem。
sudo gem install gtk3
在我尝试将 gtk 与 .. 一起使用之前
sudo gem install gtk2
哪里出错了? 我已经安装成功gtk.
该错误意味着您没有在程序的第 34 行定义您尝试 运行 的方法..
如果你想在 Ruby 中使用 GUI 做一些事情,我建议你改用 Shoes,Shoes 非常简单,而且有很多很棒的教程。
这是 link 鞋子:http://shoesrb.com/
您不必再使用 GTK.init
方法。
根据您正在学习的教程,只需保留以下代码即可:
#!/usr/bin/ruby
'''
ZetCode Ruby GTK tutorial
This program centers a window on
the screen.
Author: Jan Bodnar
Website: www.zetcode.com
Last modified: May 2014
'''
require 'gtk3'
class RubyApp < Gtk::Window
def initialize
super
set_title "Center"
signal_connect "destroy" do
Gtk.main_quit
end
set_default_size 300, 200
set_window_position Gtk::Window::Position::CENTER
show
end
end
# Gtk.init
window = RubyApp.new
Gtk.main
此外,您不应该使用 sudo 来安装您的 gem,因此您可以 运行 您的脚本而无需成为 root。
运行 sudo gem
会将您的 gem 安装到您的根目录中。
我目前正在使用旧代码调试类似问题。 gtk gem 的 3.0.x 系列有 (a) 没有 init
方法和 (b) 我找不到最新的文档,... :-(
要返回适用于该代码的 gtk3
版本,请尝试
gem install gtk --version "~> 2.2"
或者在你的gem规范中使用~> 2.2
,如果你使用一个