From: Akira Endo Date: 1999-06-30T16:16:14+09:00 Subject: [ruby-list:15164] Re: undefined method `-@' for Fixnum (NameError) 遠藤です.自己(事故)フォローになってしまいました. In [ruby-list:15163] Re: undefined method `-@' for Fixnum (NameError) Akira Endo wrote: > > ruby-1.3.4-990625で、 > > p -1.type > > を実行すると: > > undefined method `-@' for Fixnum (NameError) > > 数字の前の単項マイナスの処理が変わったことによる影響のようですね. > p -1.type は,p -(1.type)になってしまいましたので,うまくいかない > のですが,1.typeがFixnumになっているのは,1.type.typeがClassを > 返していますので,Class#inspectの仕様のようです.ちょっと > まぎらわしいのは確かですが. Fixnumを返してるのは,pではないので,最後の3行は勘違いです. 1.typeのクラスがClassで,そこで-@が定義されておらず, 1.typeを文字列で表わすとFixnumになるので,エラー表示がこのように なっています.もう一つさかのぼって1.typeに-@が定義されてないよー と表示できればいいのでしょうが,それは望み過ぎというものでしょう.