Actions
Bug #8407
closed*args in method_missing not typing variables correctly
Status:
Rejected
Assignee:
-
Target version:
-
ruby -v:
ruby 2.0.0p0 (2013-02-24) [i386-mingw32]
Backport:
Description
When setting a variable with *args, it will not cast my string to a string type. But when used directly, it casts it as a String without issue.
I would expect it to operate like a normally array does, as demonstrated at the end of the code sample.
:
class Klass
def method_missing(sym, *args, &block)
puts *args[0].inspect # I am a string
puts *args[0].class # I am a string
mystring = *args[0]
puts mystring.class # I am an array!
again = *args[0][0]
puts again.class # I am still an array!
end
end
a = Klass.new
a.doThings("AmIAString?")
#And now, an array that doesn't use the "splat" {*} operator:
c = []
c[0] = "a"
d = c[0]
puts d.class #String
Actions
Like0
Like0Like0Like0