2013-02-17 4 views
-2

다음은 text/README.md 파일을 열고 첫 번째 줄과 마지막 줄을 꺼내기 위해 만든 보석입니다.Ruby gem을 별도의 파일로 실행할 수 없습니다.

다음
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/nrodruck_test_gem-0.0.1/bin/test_gem:8:in 
`<top (required)>': uninitialized constant TestGem::Myfile (NameError) 
    from /usr/local/rvm/gems/ruby-1.9.3-p194/bin/test_gem:19:in `load' 
    from /usr/local/rvm/gems/ruby-1.9.3-p194/bin/test_gem:19:in `<main>' 
    from /usr/local/rvm/gems/ruby-1.9.3-p194/bin/ruby_noexec_wrapper:14:in `eval' 
    from /usr/local/rvm/gems/ruby-1.9.3-p194/bin/ruby_noexec_wrapper:14:in `<main>' 

내 보석을 실행하는 데 사용하려고 해요 파일은 다음과 같습니다 보석 내가 나는 다음과 같은 오류 메시지가 나타날 구축 한 보석을 호출하는 별도의 파일을 실행하려고하지만 경우, 제대로 구축 . 이 파일은 내 보석에서 읽을 파일을 지정하는 put 명령 줄을 사용합니다.

$LOAD_PATH.unshift File.expand_path("../test_gem", __FILE__) 

require 'version' 
require 'hello' 

module TestGem 

    puts "module TestGem defined" 

    class MyFile 

    def self.first(filename) 
     File.open(filename, "r") {|f| f.readline} 
    end 

    def self.last(filename) 
     File.open(filename, "r")[-1] 
    end 
    end 
end 

EDIT 여전히 같은 오류 메시지를 수신, 주석 당 고정

오타 : 여기

#!/usr/bin/env ruby 

require 'test_gem' 

puts "test_gem script executing" 
puts ARGV[0] 

puts TestGem::MyFile.first(ARGV[0]) 

는 보석이다.

/usr/local/rvm/gems/ruby-1.9.3-p194/gems/nrodruck_test_gem-0.0.1/bin/test_gem:8: 
in `<top (required)>': uninitialized constant TestGem::Myfile (NameError) 
    from /usr/local/rvm/gems/ruby-1.9.3-p194/bin/test_gem:19:in `load' 
    from /usr/local/rvm/gems/ruby-1.9.3-p194/bin/test_gem:19:in `<main>' 
    from /usr/local/rvm/gems/ruby-1.9.3-p194/bin/ruby_noexec_wrapper:14:in `eval' 
    from /usr/local/rvm/gems/ruby-1.9.3-p194/bin/ruby_noexec_wrapper:14:in `<main>' 

답변

0

이것은 오타입니다. 상수의 이름 인 MyFile 대신 전화를 걸 때 Myfile으로 입력했습니다.

+0

오타가 수정되어 동일한 오류가 발생했습니다. – NealR

+0

@NealR : 정확히 같은가요? 수정 된 유형 및 새 오류로 질문을 편집하십시오. – Linuxios

+0

@NealR : 오류가 '초기화되지 않은 상수 TestGem :: MyFile'이라고 말하지 않았습니까? (자본금 F)? – Linuxios

관련 문제