ruby - 如何将参数传递给ruby中的别名方法

标签 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

它给了我输出

我是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/

相关文章:

ruby - 在 Ruby 中使用 Selenium 缩小

html - simple_form 嵌套 json 属性

ruby - 在 irb 中发现的 Gem,而不是在 Ruby 中

Ruby - 类方法

java - Java 5 或更早版本中的抽象类

Mysql - 如何在左连接中为整个表数据添加别名

ruby-on-rails - 安装 gem 时 SSL 证书验证失败

java - Eclipse查看程序运行流程

python - 避免 Python 循环时出现索引错误

c++ - 为什么是const指针而不是指向const的指针?