[ruby-dev:51018] [Ruby master Bug#17424] Interactive Ruby で Object#method を再定義して任意の文字を入力するとエラーが発生する
From:
merch-redmine@...
Date:
2021-02-09 21:34:45 UTC
List:
ruby-dev #51018
Issue #17424 has been updated by jeremyevans0 (Jeremy Evans).=0D =0D Status changed from Open to Rejected=0D =0D This isn't a bug. Reline is calling `method` on an object, which by defaul= t is implemented by `Kernel#method`. By running `def method; end` in the t= op level scope, you are defining `Object#method`, which takes precedence ov= er `Kernel#method`. Since the method you defined does not accept arguments= , while `Kernel#method` accepts an argument, Reline gets an `ArgumentError`= when calling `method`. You can fix this issue by using a method name othe= r than `method` or by defining `method` inside another class or module so t= hat it does not override `Kernel#method`.=0D =0D ----------------------------------------=0D Bug #17424: Interactive Ruby =E3=81=A7 Object#method =E3=82=92=E5=86=8D=E5= =AE=9A=E7=BE=A9=E3=81=97=E3=81=A6=E4=BB=BB=E6=84=8F=E3=81=AE=E6=96=87=E5=AD= =97=E3=82=92=E5=85=A5=E5=8A=9B=E3=81=99=E3=82=8B=E3=81=A8=E3=82=A8=E3=83=A9= =E3=83=BC=E3=81=8C=E7=99=BA=E7=94=9F=E3=81=99=E3=82=8B=0D https://bugs.ruby-lang.org/issues/17424#change-90304=0D =0D * Author: tommy.ish (=E6=99=BA=E5=A4=A7 =E7=9F=B3=E4=BA=95)=0D * Status: Rejected=0D * Priority: Normal=0D * ruby -v: ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-darwin20= ]=0D * Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN=0D ----------------------------------------=0D # =E5=86=8D=E7=8F=BE=E6=96=B9=E6=B3=95=0D Interactive Ruby =E3=81=A7=E4=BB=A5=E4=B8=8B=E3=82=92=E5=85=A5=E5=8A=9B=E3= =81=97=E3=81=9F=E5=BE=8C=E3=81=AB=E4=BB=BB=E6=84=8F=E3=81=AE=E6=96=87=E5=AD= =97=E3=82=92=E5=85=A5=E5=8A=9B=E3=81=99=E3=82=8B=E3=80=82=0D ``` ruby=0D def method=0D end=0D ```=0D # =E5=86=8D=E7=8F=BE=E6=96=B9=E6=B3=95=E3=81=8B=E3=82=89=E5=BE=97=E3=82=89= =E3=82=8C=E3=81=9F=E7=B5=90=E6=9E=9C=0D ```=0D Traceback (most recent call last):=0D 33: from /Users/ishii/.rbenv/versions/2.7.2/bin/irb:23:in `<main>'=0D 32: from /Users/ishii/.rbenv/versions/2.7.2/bin/irb:23:in `load'=0D 31: from /Users/ishii/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/irb-1= .2.6/exe/irb:11:in `<top (required)>'=0D 30: from /Users/ishii/.rbenv/versions/2.7.2/lib/ruby/2.7.0/irb.rb:400:in `= start'=0D 29: from /Users/ishii/.rbenv/versions/2.7.2/lib/ruby/2.7.0/irb.rb:471:in `= run'=0D 28: from /Users/ishii/.rbenv/versions/2.7.2/lib/ruby/2.7.0/irb.rb:471:in `= catch'=0D 27: from /Users/ishii/.rbenv/versions/2.7.2/lib/ruby/2.7.0/irb.rb:472:in `= block in run'=0D 26: from /Users/ishii/.rbenv/versions/2.7.2/lib/ruby/2.7.0/irb.rb:537:in `= eval_input'=0D 25: from /Users/ishii/.rbenv/versions/2.7.2/lib/ruby/2.7.0/irb/ruby-lex.rb= :150:in `each_top_level_statement'=0D 24: from /Users/ishii/.rbenv/versions/2.7.2/lib/ruby/2.7.0/irb/ruby-lex.rb= :150:in `catch'=0D 23: from /Users/ishii/.rbenv/versions/2.7.2/lib/ruby/2.7.0/irb/ruby-lex.rb= :151:in `block in each_top_level_statement'=0D 22: from /Users/ishii/.rbenv/versions/2.7.2/lib/ruby/2.7.0/irb/ruby-lex.rb= :151:in `loop'=0D 21: from /Users/ishii/.rbenv/versions/2.7.2/lib/ruby/2.7.0/irb/ruby-lex.rb= :154:in `block (2 levels) in each_top_level_statement'=0D 20: from /Users/ishii/.rbenv/versions/2.7.2/lib/ruby/2.7.0/irb/ruby-lex.rb= :182:in `lex'=0D 19: from /Users/ishii/.rbenv/versions/2.7.2/lib/ruby/2.7.0/irb.rb:518:in `= block in eval_input'=0D 18: from /Users/ishii/.rbenv/versions/2.7.2/lib/ruby/2.7.0/irb.rb:704:in `= signal_status'=0D 17: from /Users/ishii/.rbenv/versions/2.7.2/lib/ruby/2.7.0/irb.rb:519:in `= block (2 levels) in eval_input'=0D 16: from /Users/ishii/.rbenv/versions/2.7.2/lib/ruby/2.7.0/irb/input-metho= d.rb:294:in `gets'=0D 15: from /Users/ishii/.rbenv/versions/2.7.2/lib/ruby/2.7.0/forwardable.rb:= 235:in `readmultiline'=0D 14: from /Users/ishii/.rbenv/versions/2.7.2/lib/ruby/2.7.0/forwardable.rb:= 235:in `readmultiline'=0D 13: from /Users/ishii/.rbenv/versions/2.7.2/lib/ruby/2.7.0/reline.rb:175:i= n `readmultiline'=0D 12: from /Users/ishii/.rbenv/versions/2.7.2/lib/ruby/2.7.0/reline.rb:238:i= n `inner_readline'=0D 11: from /Users/ishii/.rbenv/versions/2.7.2/lib/ruby/2.7.0/reline.rb:238:i= n `loop'=0D 10: from /Users/ishii/.rbenv/versions/2.7.2/lib/ruby/2.7.0/reline.rb:239:i= n `block in inner_readline'=0D 9: from /Users/ishii/.rbenv/versions/2.7.2/lib/ruby/2.7.0/reline.rb:270:i= n `read_io'=0D 8: from /Users/ishii/.rbenv/versions/2.7.2/lib/ruby/2.7.0/reline.rb:270:i= n `loop'=0D 7: from /Users/ishii/.rbenv/versions/2.7.2/lib/ruby/2.7.0/reline.rb:311:i= n `block in read_io'=0D 6: from /Users/ishii/.rbenv/versions/2.7.2/lib/ruby/2.7.0/reline.rb:240:i= n `block (2 levels) in inner_readline'=0D 5: from /Users/ishii/.rbenv/versions/2.7.2/lib/ruby/2.7.0/reline.rb:240:i= n `each'=0D 4: from /Users/ishii/.rbenv/versions/2.7.2/lib/ruby/2.7.0/reline.rb:241:i= n `block (3 levels) in inner_readline'=0D 3: from /Users/ishii/.rbenv/versions/2.7.2/lib/ruby/2.7.0/reline/line_edi= tor.rb:834:in `input_key'=0D 2: from /Users/ishii/.rbenv/versions/2.7.2/lib/ruby/2.7.0/reline/line_edi= tor.rb:792:in `normal_char'=0D 1: from /Users/ishii/.rbenv/versions/2.7.2/lib/ruby/2.7.0/reline/line_edi= tor.rb:718:in `process_key'=0D (irb):1:in `method': wrong number of arguments (given 1, expected 0) (Argum= entError)=0D ```=0D # =E6=9C=9F=E5=BE=85=E3=81=99=E3=82=8B=E7=B5=90=E6=9E=9C=E3=81=A8=E3=81=9D= =E3=81=AE=E7=90=86=E7=94=B1=0D =E3=81=93=E3=81=AE=E4=BE=8B=E5=A4=96=E3=81=AF=E8=B5=B7=E3=81=8D=E3=81=AA=E3= =81=84=E3=81=B9=E3=81=8D=E3=81=A0=E3=80=82=E4=BD=95=E6=95=85=E3=81=AA=E3=82= =89=E3=82=BD=E3=83=BC=E3=82=B9=E3=82=B3=E3=83=BC=E3=83=89=E3=81=AB=E6=9B=B8= =E3=81=84=E3=81=A6=E5=AE=9F=E8=A1=8C=E3=81=97=E3=81=A6=E3=82=82=E3=82=A8=E3= =83=A9=E3=83=BC=E3=81=AF=E5=87=BA=E3=81=AA=E3=81=84=E3=81=8B=E3=82=89=E3=81= =A0=E3=80=82 irb 1.2.6 (2020-09-14) =E3=81=A7=E3=81=99=E3=81=8C irb 1.0.0 (= 2018-12-18) =E3=81=A0=E3=81=A8=E3=82=A8=E3=83=A9=E3=83=BC=E3=81=8C=E5=87=BA= =E3=81=BE=E3=81=9B=E3=82=93=E3=81=A7=E3=81=97=E3=81=9F=E3=80=82=0D =0D =0D =0D =0D =0D --=20=0D https://bugs.ruby-lang.org/=0D