15

例えば:

require 'net/http'
uri = URI('http://example.com/some_path?query=string')

Net::HTTP.start(uri.host, uri.port) do |http|
  request = Net::HTTP::Get.new uri

  response = http.request request # Net::HTTPResponse object
end

を取り除くための正しい/ルビストの方法は何Net::HTTPですか? つまりHTTP::Get.new()、または単にGet.new()

4

3 に答える 3

6

この例が物事を明確にすることを願っています。

module Foo
  def foo
    "foo"
  end
end

class Bar
  include Foo

  def bar
    "bar"
  end
end

Bar.new.foo # foo
Bar.new.bar # bar

class Baz
  extend Foo

  self.def baz
    "baz"
  end
end

Baz.foo # foo
Baz.baz # baz

インポートまたは拡張を使用するときは、何をしているのかを確認してください。オーバーライドしたくないメソッドをオーバーライドしてしまう可能性があります。

于 2013-06-25T17:24:14.003 に答える
2
require 'net/http'
uri = URI('http://example.com/some_path?query=string')

httpns = Net::HTTP

def get(uri)
   httpns::Get.new uri
end

http.start(uri.host, uri.port) do |http|
  request = get uri

  response = http.request request # Net::HTTPResponse object
end

あなたのクラスで。

于 2014-11-23T21:01:13.620 に答える