私は新しい Ruby の男で、小さなプログラムを作成しようとしましたが、解決策が見つからないという問題があります。教えてください。Ubuntu 12.04 を使用しています
3つのファイルがあります。main.rb、create.rb、check.rb
この問題を実行すると、次のようなエラーが発生しました。
initialize': undefined method
CheckDir:Class の dirpathname=' (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
前もって感謝します