2014-11-02 3 views
1

강사와 함께 코딩을 시도하는 동안 코딩 클래스를 사용하고 문제가 발생했습니다. 믹스 인과 Enumerable 모듈에 대해 배우려고 노력하고 있으며 강사처럼이 파일을 만들었지 만 나에게는 효과가 없습니다. 루비가 설치되어 있고 지금까지 루비와 레일즈 버전을 관리하기 위해 RVM을 성공적으로 사용해 왔기 때문에 이것이 왜 저에게 효과가 있는지 이해할 수 없습니다. 어떤 도움이라도 대단히 감사하겠습니다. 여기 Ruby 파일이로드되지 않습니다

내가 내 터미널에서 얻을 오류의 screencaps입니다 :

enter image description here

enter image description here

그리고 여기 내 예제 코드입니다 :

 # Enumerable as a mixin 

    class ToToList 
     include 'Enumerable' 

     attr_accessor :items, :finished_items 

     def initialize 
     @items = [] 
     end 

     def each 
     items.each {|item| yield item} 
     end 
    end 

    # list = ToToList.new 
    # list.items = ['laundry', 'dishes', 'vacuum'] 
    # list.items.select {|i| i.length > 6} 
+0

이러한 오류 메시지는 읽기가 약간 어렵습니다. 반투명 단자가없는 스크린 캡을 사용할 수 있습니까? 또는 더 나은 방법은 오류 메시지를 복사하여 붙여 넣으시겠습니까? –

답변

0

require이를 찾습니다 파일 to_do_list.rb$LOAD_PATH에 있습니다. 프로젝트에 대한 작업 디렉토리인데, 당신의 $LOAD_PATH에는 없을 것입니다. 보통 $LOAD_PATH에는 대부분 표준 라이브러리 만 있습니다.

당신은 당신의 to_do_list.rb 파일로에게 전체 (절대) 경로를 통과 require를 사용하거나 require_relative을 사용하여 현재 위치에 파일 상대적으로 상기 (당신이에서 irb를 호출 곳) 그것을 경로를 통과 할 수 있습니다.

+0

나는 그 Amit를 시도했다. 그리고 그것은 나에게 아직도 맞지 않는다. –

+0

필자는 require를 사용하고 절대 경로를 전달하고 require_relative를 사용하여 다른 방법으로 시도했다. 어느 쪽도 나를 위해 일하지 않는다. –

+0

'require'를 사용하여 올바른 절대 경로를 전달하면 파일을로드해야합니다. 동일한 오류 메시지가 표시됩니까? –

1

문제점을 발견했습니다. 분명히 최신 버전의 Ruby (현재 Ruby v. 2.1.2 p95를 사용하고 있음)에서 Enumerable 주변의 작은 따옴표는 include 문에서 올바로 작동하지 않습니다. ruby-docs에 설명서를 부여한 후이 코드 샘플을 보았습니다 : include Enumerable 및 그 주위에 작은 따옴표가없는 것으로 나타났습니다. 그래서 작은 따옴표를 제거하고 이제는 잘 작동합니다.

+0

Ruby의 어떤 버전에서 '열거 형'작업에 대한 작은 따옴표가 사용됩니까? –

+0

잘 모르겠습니다. 이 버전은 lynda.com 비디오 튜토리얼에서 1 년 이상 된 "Ruby Essentials"라는 제목으로 지정되지 않았습니다. 그래서 ... –