From: Kazuhiro HIWADA Date: 1998-05-22T22:41:43+09:00 Subject: [ruby-list:8070] How to define a method こんにちは。ひわだです。 既存のクラスにメソッドを追加するうまい方法はないでしょうか?。 Arrayクラスに fold メソッドを追加しようとしたところ、 module Foldable def fold(st=0) self.each{|i| st = yield(st, i)} st end end Array.public_class_method(:include) Array.include(Foldable) Array.private_class_method(:include) rbc0> [1,2,3,4,5,6,7,8,9,10].fold {|st,i| st+i} 55 なんか、結局こんなになってしまいました ^^;。 これはこれでいいんですが、メソッド一つにこれだけ書くのも何だか ^^;。 なんかぼけた質問のような気がしてならないんですが、 普通どうするものなのか教えてください (_ _)。 -- 京都大学大学院情報学研究科 M1 檜田 和浩 ( hiwada@kuee.kyoto-u.ac.jp )