[ruby-core:91701] [Ruby trunk Bug#15640] Inconsistent value passed to respond_to_missing?

From: hanmac@...
Date: 2019-03-06 10:40:15 UTC
List: ruby-core #91701
Issue #15640 has been updated by Hanmac (Hans Mackowiak).


@nobu should the value depending on the value used for method, or should respond_to_missing? always has Symbol as parameter?

i think the best would be to make it simple and always have it use Symbol

----------------------------------------
Bug #15640: Inconsistent value passed to respond_to_missing?
https://bugs.ruby-lang.org/issues/15640#change-76967

* Author: kirun (Kieran Leigh)
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux-gnu]
* Backport: 2.4: UNKNOWN, 2.5: UNKNOWN, 2.6: UNKNOWN
----------------------------------------
If the symbol has been defined, then it is passed. Otherwise a string is passed the first time.    

```ruby
class SomeBug
  def respond_to_missing?(m, *)
    p m
    true
  end
end
​
if false then
  # uncomment to force to symbol--location doesn't matter, just the literal parse:
  # :aa
end
​
sd = SomeBug.new
​
# NOTE: single character strings do not show this behavior
sd.method("aa".to_sym)       # "aa" unless :aa uncommented above
sd.method("aa".to_sym)       # :aa
sd.method("bb".to_sym)       # "bb"
sd.method("bb".to_sym)       # :bb
```



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread

Prev Next