我是一個新的紅寶石的傢伙,我試圖做一個小程序,但有什麼是竊聽我,我找不到解決方案。請建議我。我正在使用Ubuntu 12.04`初始化':未定義的方法`dirpathname ='爲CheckDir:類(NoMethod錯誤)
會有3個文件。 main.rb,create.rb和check.rb
當我運行這個問題時,我得到了這樣的錯誤;
initialize': undefined method
dirpathname =」爲CheckDir:類(NoMethodError)
[main.rb的]
#!/usr/bin/env ruby
BASE_DIR = File.join('','home','local','tester','code','www','test')
APP_ROOT = File.dirname(__FILE__)
$:.unshift(File.join(APP_ROOT, 'lib'))
require 'create'
THEME_DIR = ARGV[0]
if !THEME_DIR
puts "Usage: ruby #{__FILE__} <the name of theme directory>\n\n"
exit!
end
sym = CreateSymlink.new(THEME_DIR)
sym.launch!
[create.rb]
#!/usr/bin/env ruby
require 'check'
class CreateSymlink
def initialize(path=nil)
CheckDir.dirpathname = BASE_DIR + "/" + path
if CheckDir.dir_exists?
puts "The #{path} is already existed! Bye."
exit!
end
end
def launch!
puts "yeah"
#lets_start(path)
end
end
[check.rb]
#!/usr/bin/env ruby
class CheckDir
@@dirpathname = nil
def self.dirpathname(path=nil)
@@dirpathname = File.join(BASE_DIR, path)
end
def self.dir_exists?
if @@dirpathname && File.directory?(@@dirpathname)
return true
else
return false
end
end
在此先感謝
感謝您的迴應,但我不確定你的意思,因爲我的代碼中沒有這樣的'dirpathname =',所以我不明白錯誤消息 – user1628920
增加了重點和鏈接。 – 2012-08-27 23:58:43
啊,是的,我只注意到self.dirpathname(path = nil)有問題。它應該像self.dirpathname =(path = nil)。非常感謝 – user1628920