저는 보석을 구현 중입니다. 일부 맞춤 메소드를 String 클래스에 추가하려고합니다. 그래서 'lib'디렉토리 하위 디렉토리 'core_ext'를 만들고 'string.rb'파일을 배치했습니다. 파일의ruby에서 'string.rb'파일을 필요로하지 않는 이유는 무엇입니까?
require 'core_ext/string.rb'
있지만 String 클래스에 영향을 미치지 않습니다,
내가 변경하는 경우 : 내 주요 파일에서
class String
def custom_method
some_action
end
end
내가 만든 :
string.rb는 포함 이름을 'my_string.rb'와 같은 다른 이름으로 변경하고 require와 행을 변경하면 모든 것이 올바르게 작동합니다. 왜 'string.rb'를 파일 이름으로 사용할 수 없습니까?
코드가 작동하려면'string.rb'을 요구하지 않아도됩니다. Requiring은 Ruby에게 그 클래스를로드하도록 지시하고, String 클래스는 이미로드되어있다. 코드가 제대로 작동해야합니다. 방금 테스트했는데 정상적으로 작동했습니다. "일하지 않는다"는 것이 더 구체적 일 수 있습니까? – Max
[ruby가 필요하지 않음] 가능한 복제본 (http://stackoverflow.com/questions/11600170/ruby-require-not-working) ('require_relative'시도) –