如何将调用者参数的值指定为参数的默认值?
我希望方法Callme#callme
能够将调用方法name
的{{1}}参数的值作为默认参数值。
TheCaller#caller
答案 0 :(得分:2)
我知道没有隐含的方法可以做到这一点。你最好的选择是通过
传递argsclass TheCaller
include Callme
def caller(*args)
callme(*args)
end
end
答案 1 :(得分:0)
也许我不明白这个问题,但为TheCaller添加名称访问器似乎可以按预期工作:
module Callme
def callme(hero = name)
hero
end
end
class TheCaller
attr_accessor :name
include Callme
def caller(name)
@name = name
callme
end
end
say = TheCaller.new
p say.caller("superman")
# => "superman"