1
다음 코드가 아래 오류를 나타내는 이유는 무엇입니까? 내가 Open3::popen3
즉, 전체 경로를 사용하여 popen3
를 호출하는 경우모듈을 '포함'하지만 여전히 메서드를 호출 할 수 없습니다.
require 'open3'
module Hosts
def read
include Open3
popen3("cat /etc/hosts") do |i,o,e,w|
puts o.read
end
end
end
Hosts.read
#=> undefined method `popen3' for Hosts:Class (NoMethodError)
그것은 작동합니다. 하지만 include
-ed가 있으므로 Open3::
비트가 필요하지 않다고 생각 했습니까?
감사합니다.
아, 알았어. 그 줄은 짧지 만. 나는 '연장'을 읽을 것입니다. 그리고 'module_function'! 매우 감사합니다. – spoovy
@spoovy N/p :) 또한 몇 가지 옵션을 추가하여 동일한 효과를 얻을 수 있습니다. 잠시 후에 편집 할 것입니다 (관심이있는 경우에 대비해 :)) –