[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

In This Thread

Prev Next