我想在 ruby 中创建一个别名方法并将参数传递给它。我设法做到了以下几点
class User
def say_name
puts "I'm sameera"
end
end
class User
alias :tell_name :say_name
def say_name
puts "I'm sameera gayan"
tell_name
end
end
user = User.new
user.say_name
它给了我输出
我是sameera gayan 我是sameera
但现在我想将我的名字作为参数传递给第一个“say_name”方法。所以新代码会像
class User
def say_name(name)
puts "#{name}"
end
end
class User
alias :tell_name :say_name(name)
def say_name(name)
puts "I'm sameera gayan"
tell_name(name)
end
end
user = User.new
user.say_name("my new name")
但现在这不起作用(将参数传递给别名方法)。所以我的问题是如何将参数传递给别名方法。
我希望你清楚这个问题。提前致谢
干杯
萨梅拉
最佳答案
我尝试了这个并得出了这个解决方案
class User
def say_name(name)
puts "#{name}"
end
end
class User
alias :tell_name :say_name
def say_name(name)
puts "Hi"
tell_name(name)
end
end
user = User.new
user.say_name("Rohit")
之所以可行,是因为我们无法将参数传递给别名。这就是您想要做的。
关于ruby - 如何将参数传递给ruby中的别名方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3572531/