いやー、実は以下のようなのを書きたくてハマったのですよ。
#/usr/bin/ruby class Boolean def b2text r = "false" r = "true" if self == true r end end
データが true か false かで、それぞれ "true" か "false" という文字列を返したいねそれだけ。
こういうのをやろうとしたら、TrueClassがどうのと言われ「あれ?Bool型の名前が違うのかな?と思ってクラス名をいじってみると、今度はFalseClassがどうのと言われる。
なにこれと調べてみると、正解はこうだった。
class TrueClass def bool2string r = "true" r end end class FalseClass def bool2string r = "false" r end end
タイトルにはbool型としていますが、正しくは boolクラスがない、ですねこれは。
そも「true」は、TrueClassってクラスになっているらしい。falseもしかり。
で、「true」も「false」も、そのクラス唯一のメソッドになっていると。
へえええ、こりゃあびっくりした。そんな仕組みになってたんですねえ。
20世紀からRubyいじってたけど、想像もしてなかったよ。なんてこった orz