1
次のコードでは、以下のエラーが発生します。モジュールをインクルードしても、まだメソッドを呼び出すことができません
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)
私はOpen3::popen3
すなわち完全なパスを使用してpopen3
を呼び出す場合、それは動作します。しかし、私はinclude
- それを持っていたので、私はOpen3::
ビットが必要ではないと思った?
おかげ
ああ、私アロンを考えていたそれらの行は短いです。私は '延長'を読み上げるでしょう。そして、 'module_function'!どうもありがとう。 – spoovy
@spoovy N/p :)また、いくつかのオプションで同じ効果を達成することもできます。ちょっと編集します(興味がある場合に備えて:)) –