Ruby 初心者スレッド Part 22 at TECH
[2ch|▼Menu]
806:デフォルトの名無しさん
08/11/02 12:26:17
802 じゃないけど、なんであのエラーが出るのか理屈がわからない…。>>802 の initialize にダミー引数を渡すと呼ばれるよね。
require 'net/http'
require 'uri'
class C < Net::HTTP
  Net::HTTP.version_1_2
  def initialize(url, dummy=nil)
    uri = URI.parse(url)
    puts "C initialized"
    super(uri.host, uri.port)
  end
end
url = 'URLリンク(www.yahoo.co.jp)'
p c = C.new(url)
 
Net::HTTP を眺めて同じ挙動を再現しようと思ったけど、できないYO!
class A;end
class << A; alias newobj new; end
class A
  def A.new(foo, bar=nil)
    a = A.P(foo, bar).newobj(foo, bar)
  end
  def initialize(foo, bar=nil)
    puts "A init."; @foo = foo; @bar = bar
  end
  def A.P(foo, bar=nil);self;end
end
class B < A
  def initialize(foo)#, bar=nil)
    puts "B init."; super(1, 2)
  end
end
p b = B.new(3)


次ページ
続きを表示
1を表示
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4719日前に更新/256 KB
担当:undef