そういえば、そろそろ ReFe も Ruby 1.8 必須にしようかなあ。 Ruby 1.6 だと optparse とか time.rb とかいろいろ使えなくてキツいんだよ……。
ああでも、どうせ ReFe は BitClust に吸収されるんだから、 いまさら手をかける価値もないかな。 BitClust ベースに移行すれば自動的に 1.8 必須になるわけだし。
(22:26)
rdoc のデータベースを BitClust にマージしようとしてるところ。 とりあえずこんなことはできるようになった。
~/c/bitclust % ./bin/bc-rdoc.rb --diff ../rubydoc/refm/api/src/_builtin/Array.rd Array + Array#<= + Array#clone + Array#indexes - Array#abbrev - Array#dclone - Array#frozen? - Array#hash - Array#inspect - Array#map - Array#pretty_print - Array#pretty_print_cycle - Array#quote - Array#reject - Array#select - Array#shuffle - Array#shuffle! - Array#to_splat - Array#to_yaml - Array#yaml_initialize - Array#zip
他のライブラリで追加されてるやつが多いな。 あれ、Array#zip は書いてなかったっけ?
~ % refe Array,map Array < Enumerable#map --- collect {|item| ... } --- map {|item| ... } 各要素に対してブロックを評価した結果を全て含む配列を返します。 ブロックを省略した場合、 obj.collect {|item| item} を行います。これは Enumerable#to_a [Enumerable/to_a] と同じで す。
そうか継承してんのか。 select, reject もそうだな。 継承元に書いてあったら無視するようにしようかな。
継承も見るとなるとデータベースを見ざるをえないな。 これでどうだ。
~/c/rubydoc/refm/api % bc-rdoc --diff -d var/1.9.0 String + String#< + String#<< + String#<= + String#clone + String#each + String#each_byte + String#each_char + String#to_d + String#to_f + String#to_i + String#to_s - String#_expand_ch - String#_regex_quote - String#block_scanf - String#bytes - String#chr - String#end_regexp - String#end_with? - String#expand_ch_hash - String#initialize_copy - String#is_binary_data? - String#is_complex_yaml? - String#lines - String#ord - String#original_succ - String#original_succ! - String#quote - String#rpartition - String#start_with? - String#original_succ - String#original_succ! - String#to_yaml - String#toutf32
original_ なんたらみたいに、明らかに必要ないものが出てるなあ。 こういうのを全部 #:nodoc: 書かなきゃいけないというのもウザいもんだ。
String#to_i は rdoc があるみたいなんだけど、 なんで出てきてるんだろう。
……そうか、alias のつけかたの違いでこうなっちゃうんだ。 比較方法をもっとシンプルにしないとだめかな。
これでどーだあああああ!
~/c/rubydoc/refm/api % bc-rdoc --diff -d var/1.9.0 String + String#< + String#<= + String#> + String#clone + String#dup + String#each + String#to_d + String#~ - String.yaml_new - String#_expand_ch - String#_regex_quote - String#block_scanf - String#bytes - String#chr - String#end_regexp - String#end_with? - String#expand_ch_hash - String#initialize_copy - String#is_binary_data? - String#is_complex_yaml? - String#lines - String#ord - String#original_succ - String#original_succ! - String#quote - String#rpartition - String#start_with? - String#to_yaml - String#toutf32
String.yaml_new の @is_class_method が false になっている件について責任者を問い詰めたい。 ていうか、そのときの気分で String::new にしたり String.new にしたりするのはヤメレ。
(02:35)
Amazon が毎月 1000 円券をくれるのでつい今月も Amazon で買ってしまう。 すると来月もギフト券が来る。無限ループ。
だがしかし今月はまだ使ってない! このまま行くと無限ループを脱出できる予感!
(04:49)
ri でクラス一覧出すのはどーするんだったかなーと思って、 なんとなく空文字列を渡してみたら……
~/c/bitclust % ri '' /usr/local/pkg/ruby/lib/ruby/1.9/rdoc/ri/ri_reader.rb:54:in `initialize': No such file or directory - /cdesc-::.yaml (Errno::ENOENT)
死ぬなよ!
(04:52)
phase 2 ToDo の残り
(04:56)
Copyright (c) 2002-2007 青木峰郎 / Minero Aoki. All rights reserved.