ruby-reference-manual:227
From: okkez <okkez000@g...>
Date: Sat, 23 Dec 2006 23:17:55 +0900
Subject: [ruby-reference-manual:227] BigDecimal#!=を書くとbc-methods/bitclustでエラーになる
こんばんは。 okkezです。 BigDecimal#!=をInstanceメソッドのエントリとして追加すると bc-methods --diffと bitclust でそれぞれ以下のようなエラーがでます。 $ bc-methods -r bigdecimal --diff=src/bigdecimal.rd BigDecimal /home/okkez/ruby/bitclust/lib/bitclust/rrdparser.rb:58:in `parse_error': src/bigdecimal/BigDecimal:551: wrong method signature: "--- !=(other)\n" (BitClust::ParseError) from /home/okkez/ruby/bitclust/lib/bitclust/rrdparser.rb:255:in `method_signature' from /home/okkez/ruby/bitclust/lib/bitclust/rrdparser.rb:221:in `read_chunk' from /home/okkez/ruby/bitclust/lib/bitclust/rrdparser.rb:221:in `map' from /home/okkez/ruby/bitclust/lib/bitclust/rrdparser.rb:221:in `read_chunk' from /home/okkez/ruby/bitclust/lib/bitclust/rrdparser.rb:211:in `read_chunks' from /home/okkez/ruby/bitclust/lib/bitclust/rrdparser.rb:209:in `while_match' from /home/okkez/ruby/bitclust/lib/bitclust/rrdparser.rb:209:in `read_chunks' from /home/okkez/ruby/bitclust/lib/bitclust/rrdparser.rb:188:in `read_entries' ... 11 levels... from /home/okkez/ruby/bitclust/lib/bitclust/rrdparser.rb:88:in `parse_file' from /home/okkez/ruby/bitclust/lib/bitclust/rrdparser.rb:70:in `parse_stdlib_file' from /home/okkez/bin/bc-methods:59:in `main' from /home/okkez/bin/bc-methods:108 $ bitclust -d db update --stdlibtree=src src/bigdecimal/BigDecimal:551: wrong method signature: "--- !=(other)\n" 一応、以下のパッチで動くようにはなります。 # もしかしてbc-methods --diff で追加するべきと出るのに追加しなくて良い例なのでしょうか。 # 同様に!~もエラーが出ますが、下のパッチでは対応してません。 Index: lib/bitclust/nameutils.rb =================================================================== --- lib/bitclust/nameutils.rb (revision 945) +++ lib/bitclust/nameutils.rb (working copy) @@ -11,7 +11,7 @@ CONST_PATH_RE = /#{CONST_RE}(?:::#{CONST_RE})*/ CLASS_NAME_RE = /(?:#{CONST_RE}|fatal)/ CLASS_PATH_RE = /(?:#{CONST_PATH_RE}|fatal)/ - METHOD_NAME_RE = /\w+[?!=]?|===|==|=~|<=>|<=|>=|\[\]=|\[\]|\*\*|>>|<<|\+@|\-@|[~+\-*\/%&|^<>`]/ + METHOD_NAME_RE = /\w+[?!=]?|===|==|!=|=~|<=>|<=|>=|\[\]=|\[\]|\*\*|>>|<<|\+@|\-@|[~+\-*\/%&|^<>`]/ TYPEMARK_RE = /(?:\.|\#|\.\#|::|\$)/ METHOD_SPEC_RE = /#{CLASS_PATH_RE}#{TYPEMARK_RE}#{METHOD_NAME_RE}/ GVAR_RE = /\$(?:\w+|-.|\S)/ -- okkez okkez000@g... -- ML: ruby-reference-manual@m... 使い方: http://QuickML.com/
-> 227 2006-12-23 15:17 [okkez000@g... ] BigDecimal#!=を書くとbc-methods/bitclustでエラーになる 228 2006-12-25 10:03 ┗[aamine@l... ] 229 2006-12-25 10:06 ┣[aamine@l... ] 231 2006-12-25 12:32 ┃┗[okkez000@g... ] 230 2006-12-25 12:27 ┗[okkez000@g... ]