[#1219] ruby animal — OZAWA Sakuro <crouton@...>

小澤さく@塩尻Internetです.

18 messages 1996/12/09

[#1256] ruby 0.99.4-961212 available — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです.

21 messages 1996/12/12
[#1257] Re: ruby 0.99.4-961212 available — Yasuo OHBA <jammy@...> 1996/12/12

大庭@SHLJapanです.

[#1258] Re: ruby 0.99.4-961212 available — matz@... (Yukihiro Matsumoto) 1996/12/12

まつもと ゆきひろです.

[#1259] Re: ruby 0.99.4-961212 available — WATANABE Hirofumi <watanabe@...> 1996/12/12

わたなべです.

[#1261] Re: ruby 0.99.4-961212 available — matz@... (Yukihiro Matsumoto) 1996/12/12

まつもと ゆきひろです.

[#1290] ruby 0.99.4-961217 will be available — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです.

32 messages 1996/12/17
[#1300] Re: ruby 0.99.4-961217 will be available — sinara@... 1996/12/17

原です。

[#1305] Re: ruby 0.99.4-961217 will be available — matz@... (Yukihiro Matsumoto) 1996/12/17

まつもと ゆきひろです.

[#1308] Re: ruby 0.99.4-961217 will be available — gougi@... (Shigeru Gougi) 1996/12/17

ごうぎ@TCIです。

[#1341] Re: ruby 0.99.4-961217 will be available — matz@... (Yukihiro Matsumoto) 1996/12/18

まつもと ゆきひろです.

[#1342] Re: ruby 0.99.4-961217 will be available — sinara@... 1996/12/18

原です。

[#1345] [BUG?] access string out of range — sinara@... 1996/12/18

原です。

[#1330] Re: Rational and Complex — Shin-ichiro Hara <sinara@...>

原です。

30 messages 1996/12/17
[#1335] Re: Rational and Complex — sinara@... 1996/12/18

原です。

[#1359] Re: Rational and Complex 1996/12/18

けいじゅ@SHLジャパンです.

[#1423] 配列への grep — (Dezawa Shin-ichiro) <dezawa@...>

出沢です

14 messages 1996/12/23

[#1469] wish ... — Noritugu Nakamura <nnakamur@...>

25 messages 1996/12/24
[#1470] Re: wish ... — matz@... (Yukihiro Matsumoto) 1996/12/24

まつもと ゆきひろです.

[ruby-list:1401] Re: 同じメソッドで 、引数が違うやつ

From: matz@... (Yukihiro Matsumoto)
Date: 1996-12-19 17:28:48 UTC
List: ruby-list #1401
まつもと ゆきひろです.

In message "[ruby-list:1394] 同じメソッドで、引数が違うやつ"
    on 96/12/19, (Dezawa Shin-ichiro) <dezawa@miya.fujifilm.co.jp> writes:
|
|出沢です

|同じ名前のメソッドだけど、色々な引数の型や数が
|異なるのを作れるんでしょうか?

メソッドオーバーロードですね.rubyではできません.
# 前に設計してた言語ではできるようになるはずだったんだけどな.

rubyでは変数に型がないため,オーバーロードはコンパイル時に解
消できません.よって,実行時にいちいちチェックしないと実現で
きないので,言語を簡単にするため,オーバーロードは採用しませ
んでした.引数の数についてはoptional引数とrest引数で対応して
ください.

  def foo(a, b=23, *c)
  end

呼び出しは以下のようになります.

  foo()		# error!! 引数の数が足りない
  foo(1)        # a=1, b=23, c=[]
  foo(2,3)      # a=2, b=3, c=[]
  foo(2,3,4)    # a=2, b=3, c=[4]
  foo(2,3,4,5)  # a=2, b=3, c=[4,5]

メソッドの型については

  * Kernel#typeを使って分類する

      case obj.type
      when "Integer"
        ...
      when "Float"
        ...
      else
        ...
      end

  * defined?を使ってメソッドが定義されているかどうか調べる

     if defined? obj.foobar
       ...
     end

  * Object#kind_of?を使ってサブクラスかどうか調べる

     if obj.king_of? IO
       ...
     end

少々面倒ですけど,これらを組み合わせて対応してください

                                まつもと ゆきひろ /:|)

   

In This Thread