sam*_*207 4 ruby methods alias
我想在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
Run Code Online (Sandbox Code Playgroud)
它给了我出局
我是同一个gayan我是同一个人
但现在我想将我的名字作为参数传递给第一个'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")
Run Code Online (Sandbox Code Playgroud)
但现在这不起作用(将参数传递给别名方法).所以我的问题是如何将参数传递给别名方法.
我希望你能清楚这个问题.提前致谢
干杯
sameera
我尝试了这个,并找到了这个解决方案
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")
Run Code Online (Sandbox Code Playgroud)
之所以这样,是因为我们无法将参数传递给别名.这就是你想要做的.
| 归档时间: |
|
| 查看次数: |
3825 次 |
| 最近记录: |