[#45670] ruby-1.9.1-preview2のruby-tk on OSX — 天野竜太郎 <wn9r-amn@...>

天野です。

40 messages 2008/12/02
[#45673] Re: ruby-1.9.1-preview2のruby-tk on OSX — Nobuyoshi Nakada <nobu@...> 2008/12/03

なかだです。

[#45676] Re: ruby-1.9.1-preview2のruby-tk on OSX — 天野竜太郎 <wn9r-amn@...> 2008/12/03

天野です。

[#45678] Re: ruby-1.9.1-preview2のruby-tk on OSX — Nobuyoshi Nakada <nobu@...> 2008/12/03

なかだです。

[#45680] Re: ruby-1.9.1-preview2のruby-tk on OSX — Hidetoshi NAGAI <nagai@...> 2008/12/03

永井@知能.九工大です.

[#45701] Re: ruby-1.9.1-preview2のruby-tk on OSX — 天野竜太郎 <wn9r-amn@...> 2008/12/04

天野です。報告遅れてすみません。

[#45707] Re: ruby-1.9.1-preview2のruby-tk on OSX — Hidetoshi NAGAI <nagai@...> 2008/12/05

永井@知能.九工大です.

[#45708] Re: ruby-1.9.1-preview2のruby-tk on OSX — 天野竜太郎 <wn9r-amn@...> 2008/12/07

天野です。

[#45709] Re: ruby-1.9.1-preview2のruby-tk on OSX — Hidetoshi NAGAI <nagai@...> 2008/12/07

永井@知能.九工大です.

[#45710] Re: ruby-1.9.1-preview2のruby-tk on OSX — 天野竜太郎 <wn9r-amn@...> 2008/12/08

天野です。

[#45711] Re: ruby-1.9.1-preview2のruby-tk on OSX — Hidetoshi NAGAI <nagai@...> 2008/12/08

永井@知能.九工大です.

[#45712] Re: ruby-1.9.1-preview2のruby-tk on OSX — 天野竜太郎 <wn9r-amn@...> 2008/12/08

天野です。

[#45713] Re: ruby-1.9.1-preview2のruby-tk on OSX — Hidetoshi NAGAI <nagai@...> 2008/12/08

永井@知能.九工大です.

[#45714] Re: ruby-1.9.1-preview2のruby-tk on OSX — 天野竜太郎 <wn9r-amn@...> 2008/12/08

天野です。

[#45715] Re: ruby-1.9.1-preview2のruby-tk on OSX — Hidetoshi NAGAI <nagai@...> 2008/12/08

永井@知能.九工大です.

[#45716] Re: ruby-1.9.1-preview2のruby-tk on OSX — 天野竜太郎 <wn9r-amn@...> 2008/12/08

天野です。

[#45717] Re: ruby-1.9.1-preview2のruby-tk on OSX — Hidetoshi NAGAI <nagai@...> 2008/12/08

永井@知能.九工大です.

[#45721] Re: ruby-1.9.1-preview2のruby-tk on OSX — Hidetoshi NAGAI <nagai@...> 2008/12/17

天野さん,

[#45722] Re: ruby-1.9.1-preview2のruby-tk on OSX — 天野竜太郎 <wn9r-amn@...> 2008/12/17

天野です。

[#45725] Re: ruby-1.9.1-preview2のruby-tk on OSX — Hidetoshi NAGAI <nagai@...> 2008/12/17

永井@知能.九工大です.

[#45726] Re: ruby-1.9.1-preview2のruby-tk on OSX — Hidetoshi NAGAI <nagai@...> 2008/12/18

永井@知能.九工大です.

[#45727] Re: ruby-1.9.1-preview2のruby-tk on OSX — 天野竜太郎 <wn9r-amn@...> 2008/12/19

天野です。

[ruby-list:45689] Re: クラスメソッド

From: rubikitch@...
Date: 2008-12-04 09:09:25 UTC
List: ruby-list #45689
From: Masutoyo Kawamura <m-kwmr@po.hyper-tsukumi.jp>
Subject: [ruby-list:45688] クラスメソッド
Date: Thu, 4 Dec 2008 17:54:15 +0900

るびきちです。

> 何か良い方法はないでしょうか。

あります。

> paper = []
> paper[1]="PaperA"
> paper[2]="PaperB"

Rubyのクラスはオブジェクトなので文字列ではなくてクラス名そのものを指定すれば
うまくいきます。

paper = []
paper[1]=PaperA
paper[2]=PaperB

さらに、これらの行は配列リテラルを使って
paper = [nil, PaperA, PaperB] 
と書けば一発です。

# 配列の添字は0からなのでpaper[0]はとりあえずnilを入れておきました。

> class PaperA < PaperCommon
>         def initialize(s)
>                 super(s)
>         end


サブクラスのinitializeメソッドはsuper以外の処理をしていないので不要です。

Rubyのインデントは慣習上2です。

class PaperCommon 
  def initialize(s)
    @s=s
  end

  def common_prc1
    @s = @s.upcase
  end

  def common_prc3
    puts @txt
  end
end

class PaperA < PaperCommon
  def differ_prc2
    @txt = "center\n"
    @txt += @s
  end
end

class PaperB < PaperCommon
  def differ_prc2
    @txt = "left\n"
    @txt += @s
  end
end

paper = [nil, PaperA, PaperB]

i=1
yousi = paper[i].new("kwmr")
yousi.common_prc1
yousi.differ_prc2
yousi.common_prc3
# >> center
# >> KWMR

--
rubikitch
Blog: http://d.hatena.ne.jp/rubikitch/
Site: http://www.rubyist.net/~rubikitch/

In This Thread